我试图输出两个标记提交之间的日志。
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
它会输出自repo开始以来的所有提交,这不是我想要的。我已经通读了git日志手册,但它没有太大帮助。
6条答案
按热度按时间juud5qan1#
您需要省略号来表示范围。请尝试
git log tag1..tag2
。i34xakig2#
对@Yurii和@wilmol的答案进行了扩展,适用于那些对生成发行说明文件感兴趣并希望脚本可读且易于修改的用户。
上面的脚本在
release_notes.md
处生成一个markdown文件,如下所示:🎁发行说明(
14.2
)变更
元数据
我喜欢这种方法有几个原因:
$VERSION
和$PREVIOUS_VERSION
。$CHANGES
进行排序、筛选和修改,以满足我的特定需求。n53p2ov03#
我用这个来获取最后两个标签之间的提交:
yvfmudvl4#
感谢@Noufal Ibrahim的解答。
我提交了一个文件并创建了一个新的标签。但在此之前,我需要列出并格式化最后一个标签创建后的所有提交。以下是我当时所做的:
请注意结尾处的双点(
..
)zqry0prt5#
来自@wilmol的优化解决方案
我更喜欢在发行说明的脚本中使用以下代码:
这一条给予了最后两个标记之间的清晰的提交历史,没有git has和merge行。
cunj1qz16#
我正在使用以下快捷方式
git log $(git tag |tail -1)..