571

I would like to do a diff between two tags and committed changes between those two tags. Could you please tell me the command?

vvvvv
  • 25,404
  • 19
  • 49
  • 81
bsd
  • 5,943
  • 3
  • 19
  • 16

5 Answers5

951
$ 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

Jason Capriotti
  • 1,836
  • 2
  • 17
  • 33
gauteh
  • 16,435
  • 4
  • 30
  • 34
15

If source code is on Github, you can use their comparing tool: https://help.github.com/articles/comparing-commits-across-time/

Nakilon
  • 34,866
  • 14
  • 107
  • 142
7

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.

Tom Howard
  • 4,672
  • 2
  • 43
  • 48
2

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".

Lulupointu
  • 3,364
  • 1
  • 12
  • 28
0

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.

Vladislav Povorozniuc
  • 2,149
  • 25
  • 26