使用git比较两个代码分支,显示差异

时间:2013-09-03 06:42:16

标签: git linux-kernel diff

我想比较内核的两个来源,例如Nexus 10的内核(https://android.googlesource.com/kernel/exynos.git)和ARM Chromebook的内核(https://git.chromium.org/git/chromiumos/third_party/kernel.git

任何人都可以说出一个可以做到这一点的命令吗?

3 个答案:

答案 0 :(得分:2)

在两个目录之间进行差异不是gi​​t特定的操作:

git clone https://android.googlesource.com/kernel/exynos.git exynos
git clone https://git.chromium.org/git/chromiumos/third_party/kernel.git chromiumos

# use your favorite diff tool to compare both directories :
meld exynos/ chromiumos/

答案 1 :(得分:1)

您可以克隆一个repo,然后将另一个作为远程添加并获取它。然后在两个master分支之间做差异:

git clone https://android.googlesource.com/kernel/exynos.git

cd exynos
git remote add kernel https://git.chromium.org/git/chromiumos/third_party/kernel.git
git fetch kernel

git diff master kernel/master

答案 2 :(得分:1)

你可以简单地使用diff来做到这一点。克隆所需的源,然后执行以下操作:

   diff -uprN exynos/ chromiumos/

上面的命令将创建统一的(-u)补丁,将显示c函数名称(-p),递归遍历目录(-r),如果缺少任何文件将其视为新文件(-N)。