Reputation: 15872
I know about git diff branch1 branch2
. However, I would like to see changes introduced in one branch only. I can get this functionality with:
git checkout branch1
git merge branch2
git reset origin/branch1
git diff
Is there a shorter way to do this?
Upvotes: 5
Views: 826
Reputation: 6740
You need to find the hash of the most recent common root of the two branches, for which you use git merge-base:
git merge-base branch1 branch2
Then after than you can get a log of the changes from that common root to the branch head with git log:
git diff <common base hash>..branch2
Upvotes: 3
Reputation: 467161
You can do:
git diff branch1...branch2
(note that there are three dots)
... which will show you all the changes introduced on branch2
since it diverged from branch1
(or, strictly speaking, since the merge-base). The different uses of ..
and ...
in git diff
and git log
, can be a bit confusing, so you might find the diagrams in this answer helpful.
Upvotes: 9