git log,提供来自提交消息正文的其他详细信息

时间:2011-07-11 16:29:08

标签: git grep git-log

我有一个git commit模板,如下所示:

[overtype with subject line up to 50 chars ----->]

[overtype with details of what's in the commit]

[other information]
Ticket-Refs: 

我想将“Ticket-Refs:”之后的字符串附加到git log graph --pretty=format:

我尝试使用--grep=%b%B上实现这一目标,我们将不胜感激。

2 个答案:

答案 0 :(得分:1)

我知道我没有给出确切的答案,但是如果你可以将ticket-refs部分移动到git notes,那就是使用下面的内容为提交添加注释:

git notes add sha -m "Ticket-refs:blah"

然后您可以轻松地按照自己的意愿执行图形日志:

git log --graph --format="%N"

否则,我不确定是否可以单独提取该部分,然后将其与图表一起使用。

答案 1 :(得分:1)

绝对不是最优雅的方式,但这里有一个选项:

$ git log --graph --grep=Ticket-Refs --pretty=format:'DELIMITER_STRING%B' | grep '\*.*DELIMITER_STRING\|Ticket' | sed s/DELIMITER_STRING.*//

或其他选项

$ git log --graph --grep=Ticket-Refs --pretty=format:'DELIMITER_STRING%b' | grep '\*.*DELIMITER_STRING\|Ticket-Refs' | sed ':a;N;$!ba;s/DELIMITER_STRING.*Ticket-Refs://'

我无耻地从another post

中窃取了第二个选项的一些代码