标签之间的Git日志


82

我正在尝试在两个带标签的提交之间输出日志。

mbell@cheetah [12:07:22] [/var/www/html/brone] [dev]
-> % git tag 
6.x-0.1
6.x-1.0-beta1
6.x-1.0-beta2
6.x-1.0-beta3
6.x-1.0-beta4
6.x-1.0-beta5
6.x-1.0-beta6
6.x-1.0-beta7
6.x-1.0-beta8
6.x-1.0-beta9

如果我那么做:

git log 6.x-1.0-beta8 6.x-1.0-beta9 > ~/gitlogbrone.txt

它输出自回购开始以来的所有提交,这不是我想要的。我已经阅读了git log手册,但是并没有太大帮助。

Answers:


146

您需要使用省略号来指示范围。尝试git log tag1..tag2


25
...会给你对称的差异(只显示两个标签都无法到达的提交),我想你想..
knittl 2011年

14
注意:标签应按升序排列。newtag..oldtag不起作用
balki 2014年

4
回复:“标签应按升序排列。newtag..oldtag不起作用”:我认为git只会先将标签转换为其各自的提交,然后对这些提交执行请求的操作。切换标签的顺序只会颠倒diff的前后,但仍然可以使用。
吉诺2015年

1

我用它来获取最后两个标签之间的提交:

git log --pretty=format:%s `git tag --sort=-committerdate | head -1`...`git tag --sort=-committerdate | head -2 | awk '{split($0, tags, "\n")} END {print tags[1]}'` > change_log.txt
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.