如果我有一个带有代表版本版本的标签的git存储库。
如何获取两个标签之间的提交列表(如果可能,请使用漂亮的格式)?
答案 0 :(得分:203)
git log --pretty=oneline tagA...tagB
(即三个点)
如果您只是希望从tagB可以访问提交,而不是tagA:
git log --pretty=oneline tagA..tagB
(即两个点)
或
git log --pretty=oneline ^tagA tagB
答案 1 :(得分:23)
git log
将一系列提交作为参数:
git log --pretty=[your_choice] tag1..tag2
有关详情,请参阅git rev-parse
{{1}}。
答案 2 :(得分:16)
比较当前分支的最新提交和标记:
git log --pretty=oneline HEAD...tag
答案 3 :(得分:14)
要将输出设置为您首选的漂亮格式,请参阅git-log
的{{3}}。
示例:
git log --pretty=format:"%h; author: %cn; date: %ci; subject:%s" tagA...tagB
答案 4 :(得分:3)
供参考:
git log tagA...tagB
提供范围内的标准日志输出。
答案 5 :(得分:1)
答案 6 :(得分:0)
如果您的团队在此项目上使用描述性提交消息(例如,“Ticket #12345 - 更新依赖项”),则生成变更日志,因为最新的标记可以这样完成:
git log --no-merges --pretty=format:"%s" 'old-tag^'...new-tag > /path/to/changelog.md
--no-merges
省略列表中的合并提交old-tag^
指的是早于标记的提交。如果您想因任何原因在列表底部看到标记的提交,则很有用。 (单引号仅适用于 mac OS 上的 iTerm)。