git log获取以标记开头的提交范围

时间:2011-11-04 17:14:12

标签: git

我想使用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

这似乎从最后一个开始返回提交,忽略指定的标记

2 个答案:

答案 0 :(得分:2)

你应该能够

git log -6 <tag name>

然后添加您想要的任何其他限定符。

答案 1 :(得分:1)

尝试git log --first-parent --oneline -n 6 yourtag,根据您的需要进行修改。来自Git log manual

  

- 第一亲

     

在看到合并提交时,仅遵循第一个父提交。在查看特定主题分支的演变时,此选项可以提供更好的概述,因为合并到主题分支往往只是关于不时调整到更新的上游,并且此选项允许您忽略引入的单个提交这种合并的历史。