Use git diff
with a range.
git diff branch1..branch2
This will compare the tips of each branch.
If you really want some GUI software, you can try something like SourceTree which supports Mac OS X and Windows.
To see a visual diff of all differences between two branches I like to merge the two branches - WITHOUT committing the merge - and then use git gui
or git Extensions to get an overview of the differences.
Git command line for merging without commiting:
git checkout branchA git merge --no-commit --no-ff branchB
Then when done, you can undo the merge with
git merge --abort
(h/t to @jcugat's for the comment)
In case you are using Intellij Idea IDE, you could just use the compare option in the branch.
You can also do this easily with gitk.
> gitk branch1 branch2
First click on the tip of branch1. Now right-click on the tip of branch2 and select Diff this->selected.
For those of you on Windows using TortoiseGit, you can get a somewhat visual comparison through this rather obscure feature:
shift
and right-click itctrl
to select two branches to compareSource: http://wikgren.fi/compare-diff-branches-in-tortoise-git-or-how-to-preview-changes-before-doing-a-merge/
If you are using OSX or Windows 7+, Atlassian SourceTree works very well for this. It is free.
You can see staged changes in a side-by-side diff setup, and you easily compare local with remote and any other two branches. When multiple files are selected, the diff shows up as below:
Assuming you have checked out a feature branch and you want to see the diff against 'master', right-click on the 'master' branch and select "Diff against current"
Unfortunately, it doesn't seem as if it will be available on *nix distributions anytime soon.
Try "difftool" (assuming you have diff tools setup) - see https://www.kernel.org/pub/software/scm/git/docs/git-difftool.html
I find name status good for the summary but difftool will iterate the changes (and the -d
option gives you the directory view), e.g.
$ git difftool their-branch my-branch
Viewing: 'file1.txt'
Launch 'bc3' [Y/n]:
...
Or as @rsilva4 mentioned with -d
and default to your current branch it is just - e.g. compare to master:
$ git difftool -d master..
...and yes - there are many variations - https://www.kernel.org/pub/software/scm/git/docs/git-reset.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With