531

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

vinzee
  • 17,022
  • 14
  • 42
  • 60
bsd
  • 5,535
  • 3
  • 17
  • 15

4 Answers4

891
$ 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,671
  • 1
  • 15
  • 30
gauteh
  • 15,385
  • 4
  • 27
  • 33
12

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

Nakilon
  • 33,683
  • 14
  • 104
  • 137
5

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,194
  • 1
  • 39
  • 45
1

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
  • 2,609
  • 1
  • 9
  • 24