如果我有一个带有代表发行版本的标记的git存储库。
我怎么能得到两个标签之间的提交列表(如果可能的话,一个漂亮的格式)?
git log接受一个提交范围作为参数:
git log
git log --pretty=[your_choice] tag1..tag2
有关更多信息,请参阅git rev-parse的手册页。
git rev-parse
git log --pretty=oneline tagA...tagB(即三个点)
git log --pretty=oneline tagA...tagB
如果你只是想要从tagB而不是tagA可达的提交:
git log --pretty=oneline tagA..tagB(即两个点)
git log --pretty=oneline tagA..tagB
或
git log --pretty=oneline ^tagA tagB
仅供参考:
git log tagA...tagB
提供范围内的标准日志输出。
比较当前分支和标签的最新提交:
git log --pretty=oneline HEAD...tag
要将输出设置为您喜欢的漂亮格式,请参阅git-log的手册页。
git-log
例子:
git log --pretty=format:"%h; author: %cn; date: %ci; subject:%s" tagA...tagB
如果您的团队使用描述性提交消息(例如。“票#12345 -更新依赖”;)在这个项目上,然后生成更新日志,因为最新的标签可以这样做:
git log --no-merges --pretty=format:"%s" 'old-tag^'...new-tag > /path/to/changelog.md
--no-merges
old-tag^
还要考虑这一点:
git range-diff tagA...tagB
来源:https://git-scm.com/docs/git-range-diff