我知道git diff branch1 branch2
。但是,我希望仅在一个分支中引入更改。我可以得到这个功能:Diffing two branches to show changes in one branch
git checkout branch1
git merge branch2
git reset origin/branch1
git diff
有没有更简单的方法来做到这一点?
我知道git diff branch1 branch2
。但是,我希望仅在一个分支中引入更改。我可以得到这个功能:Diffing two branches to show changes in one branch
git checkout branch1
git merge branch2
git reset origin/branch1
git diff
有没有更简单的方法来做到这一点?
你可以这样做:
git diff branch1...branch2
(N请注意有三个点)
...它会告诉你所有在branch2
上引入的变化,因为它与branch1
(或严格来说,自合并基础以来)有所分歧。 ..
和...
在git diff
和git log
中的不同用法可能有点令人困惑,因此您可能会发现this answer中的图表很有用。
你需要找到两个分支,为你使用git的合并基础的最近的共同根的哈希:
git merge-base branch1 branch2
然后比后你可以得到一个日志从变化共同的根分支头git的日志:
git diff <common base hash>..branch2
这几乎是正确的。我用'git diff
@ Vlad。全做完了。尽管Mark提供了更简洁的答案。我会给他剔的! –
你好,先生。很好的答案。我从你的记录中看到,我正在和那些试图在git答案上竞争的大男孩们一起玩...... :-) –
@亚历克斯:很高兴见到,先生!我希望你很好。碰巧我只是偶尔检查git标签,但它当然是一个很好的遵循 –