我想使用git log获取以标记开头并返回的更改列表,比如说6次提交
git log --format="%h %ad %d %an: %s" --tags -n 6 --date=short
这将给我最后6次提交,但理想情况下我希望得到一个过去的范围; 给出以下
x---y(tag101)---z---branch
/
aa---bb---a---b---c---d---e---f---g(tag102)---h---HEAD
是否可以获取tag101和back 6提交的日志
y(tag101)
x
a
bb
aa
或用于tag102
g(tag102)
f
e
d
c
b
大多数情况下,当我尝试获取此信息时,我实际上是在标签上检查并处于分离的HEAD状态
我尝试了一些不同的东西,比如
git log tags/tag101..96c06be --format="%h %ad %d %an: %s" --tags -n 6 --date=short
这似乎从最后一个开始返回提交,忽略指定的标记
答案 0 :(得分:2)
你应该能够
git log -6 <tag name>
然后添加您想要的任何其他限定符。
答案 1 :(得分:1)
尝试git log --first-parent --oneline -n 6 yourtag
,根据您的需要进行修改。来自Git log manual:
- 第一亲
在看到合并提交时,仅遵循第一个父提交。在查看特定主题分支的演变时,此选项可以提供更好的概述,因为合并到主题分支往往只是关于不时调整到更新的上游,并且此选项允许您忽略引入的单个提交这种合并的历史。