如何用git比较两个标签?

pkln4tw6  于 2023-01-07  发布在  Git
关注(0)|答案(5)|浏览(275)

我想在两个标签之间做一个比较,并在这两个标签之间提交更改。你能告诉我命令吗?

egdjgwm8

egdjgwm81#

$ git diff tag1 tag2

或显示它们之间的日志:

$ git log tag1..tag2

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

$ git diff tag1 tag2 --stat

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

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

标签只是对最近一次提交的引用,所以你是在比较它们之间的提交。
(Make请务必先执行git pull --tags
此外,一个很好的参考:https://git-scm.com/docs/git-diff

am46iovg

am46iovg2#

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

zu0ti5jz

zu0ti5jz3#

对于并排可视化表示,我使用git difftool,并将openDiff设置为默认查看器。
示例用法:

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

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

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

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

sh7euo9m

sh7euo9m4#

正如@Nakilon所说,他们是一个内置在github中的比较工具,如果你使用的是这个工具的话。
要使用它,在repo的url后面加上“/compare”

6ljaweal

6ljaweal5#

2个标记之间的插入/删除次数(合并标记之间的所有提交,例如,1个文件在标记之间更改/提交6次)

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(-)

标记之间的差异,例如,同一文件在标记v1.0和v1.1上的差异

git diff --shortstat v1.0 v1.1
 1 file changed, 50 insertions(+), 5 deletions(-)

只是为了说明diff(有点类似于vimdiff)的统计信息,以及两者之间所有提交的统计信息是不同的。

相关问题