I would like to do a diff between two tags and committed changes between those two tags. Could you please tell me the command?
5 Answers
$ git diff tag1 tag2
or show log between them:
$ git log tag1..tag2
sometimes it may be convenient to see only the list of files that were changed:
$ git diff tag1 tag2 --stat
and then look at the differences for some particular file:
$ git diff tag1 tag2 -- some/file/name
A tag is only a reference to the latest commit 'on that tag', so that you are doing a diff on the commits between them.
(Make sure to do git pull --tags first)
Also, a good reference: https://git-scm.com/docs/git-diff
12 Comments
git gui at "tools/add" like git difftool -d $REVISION! and to link this answer toogit log command only show additional commits, not shared commits?git diff tag1 gives differences between tag1 and working directory; git diff tag1 HEAD differences between tag1 and most recent commit.If source code is on Github, you can use their comparing tool: https://help.github.com/articles/comparing-commits-across-time/
1 Comment
For a side-by-side visual representation, I use git difftool with openDiff set to the default viewer.
Example usage:
git difftool tags/<FIRST TAG> tags/<SECOND TAG>
If you are only interested in a specific file, you can use:
git difftool tags/<FIRST TAG>:<FILE PATH> tags/<SECOND TAG>:<FILE PATH>
As a side-note, the tags/<TAG>s can be replaced with <BRANCH>es if you are interested in diffing branches.
Comments
Number of insertions/deletions between 2 tags (combine all commits between tags, for example, 1 file was changed/committed 6 times between tags)
git log --numstat --format='' v1.0..v1.1 | awk '{files += 1}{ins += $1}{del += $2} END{print "total: "files" files, "ins" insertions(+) "del" deletions(-)"}'
total: 6 files, 57 insertions(+) 12 deletions(-)
diff between tags, for example, diff of the same file at tag v1.0 and at v1.1
git diff --shortstat v1.0 v1.1
1 file changed, 50 insertions(+), 5 deletions(-)
Just to show that stats for diff (kind of similar to vimdiff), and for all commits in between are different.
1 Comment
As @Nakilon said, their is a comparing tool built in github if that's what you use.
To use it, append the url of the repo with "/compare".