区分两个分支以显示在一个分支中引入的更改

时间:2012-06-22 19:32:10

标签: git diff

我知道git diff branch1 branch2。但是,我希望仅在一个分支中看到更改。我可以通过以下方式获得此功能:

git checkout branch1
git merge branch2
git reset origin/branch1
git diff

有更短的方法吗?

2 个答案:

答案 0 :(得分:9)

你可以这样做:

git diff branch1...branch2

(请注意,有三个点)

...这将显示branch2上引入的所有更改,因为它与branch1分开(或严格来说,自合并基础以来)。 .....git diffgit log的不同用法可能有点令人困惑,因此您可能会发现this answer中的图表很有用。

答案 1 :(得分:3)

你需要找到两个分支的最新公共根的哈希值,你使用git merge-base:

git merge-base branch1 branch2

然后,您可以使用git log获取从该公共根到分支头的更改日志:

git diff <common base hash>..branch2