如何比较两个标签?

bsd*_*bsd 404 git

我想在两个标签之间进行差异,并在这两个标签之间进行更改.你能告诉我这个命令吗?

gau*_*teh 705

$ git diff tag1 tag2
Run Code Online (Sandbox Code Playgroud)

或者在它们之间显示日志:

$ git log tag1..tag2
Run Code Online (Sandbox Code Playgroud)

有时,只查看已更改的文件列表可能很方便:

$ git diff tag1 tag2 --stat
Run Code Online (Sandbox Code Playgroud)

然后查看某些特定文件的差异:

$ git diff tag1 tag2 -- some/file/name
Run Code Online (Sandbox Code Playgroud)

标记只是对该标记上的最新提交的引用,因此您正在对它们之间的提交进行区分.

另外,一个很好的参考:http://learn.github.com/p/diff.html

  • @kaiser哈哈!顺便说一下,我想添加这个技巧来比较`git gui`在"tools/add"中的整个目录,比如`git difftool -d $ REVISION`!并链接[这个答案](http://stackoverflow.com/a/2006241/1422630) (2认同)
  • 也很有用:简单地说`git diff tag1`给出了tag1和工作目录之间的差异; `git diff tag1 HEAD`在tag1和最近提交之间存在差异. (2认同)
  • 确保首先执行git pull --tags。 (2认同)

Nak*_*lon 8

如果源代码在Github上,您可以使用他们的比较工具:https://help.github.com/articles/comparing-commits-across-time/


Tom*_*ard 7

对于并排的视觉表示,我使用git difftoolwithopenDiff设置为默认查看器。

用法示例:

git difftool tags/<FIRST TAG> tags/<SECOND TAG>
Run Code Online (Sandbox Code Playgroud)

如果您只对特定文件感兴趣,可以使用:

git difftool tags/<FIRST TAG>:<FILE PATH> tags/<SECOND TAG>:<FILE PATH>
Run Code Online (Sandbox Code Playgroud)

顺便说一句,如果您对 ing 分支感兴趣,tags/<TAG>可以将 s 替换为es 。<BRANCH>diff