如何用git比较两个标签?


435

我想在两个标签之间进行区分,并在这两个标签之间提交更改。你能告诉我命令吗?

Answers:


744
$ git diff tag1 tag2

或显示它们之间的日志:

$ git log tag1..tag2

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

$ git diff tag1 tag2 --stat

然后查看某些特定文件的区别:

$ git diff tag1 tag2 -- some/file/name

标签只是对“该标签”上最新提交的引用,因此您要对它们之间的提交进行比较。

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


2
@kaiser哈哈!顺便说一句,我想添加这个技巧来比较git gui“ tools / add”中的整个目录git difftool -d $REVISION!并链接这个答案
水瓶座电

有没有一种方法可以使git log命令仅显示其他提交,而不显示共享的提交?
CMCDragonkai 2015年

@CMCDragonkai就是此命令的作用,它显示了自tag1以来对tag2的其他提交。
gauteh 2015年

2
也很有用:简单地git diff tag1给出tag1和工作目录之间的区别;git diff tag1 HEADtag1和最近提交之间的差异。
ChrisV

4
确保先做git pull --tags
埃德本


2

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

用法示例:

git difftool tags/<FIRST TAG> tags/<SECOND TAG>

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

git difftool tags/<FIRST TAG>:<FILE PATH> tags/<SECOND TAG>:<FILE PATH>

附带说明一下,如果您对分支感兴趣,tags/<TAG>可以将s替换为<BRANCH>es diff

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.