5

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

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

有没有更短的方法来做到这一点?

4

2 回答 2

9

你可以做:

git diff branch1...branch2

(注意是三个点)

...这将向您展示branch2自从它偏离branch1(或者,严格来说,自合并基础以来)以来引入的所有更改。.....git diff和的不同用法git log可能有点令人困惑,因此您可能会发现此答案中的图表很有帮助。

于 2012-06-22T19:54:09.933 回答
3

您需要找到两个分支的最近公共根的哈希,为此您使用 git merge-base:

git merge-base branch1 branch2

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

git diff <common base hash>..branch2
于 2012-06-22T19:35:00.883 回答