【问题标题】:git log with additional details from body of the commit messagegit log 以及来自提交消息正文的其他详细信息
【发布时间】:2011-07-11 16:29:08
【问题描述】:

我有一个 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 上实现此目的,我们将不胜感激。

【问题讨论】:

    标签: git grep git-log


    【解决方案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盗取了第二个选项的部分代码

    【讨论】:

      【解决方案2】:

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

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

      然后你可以轻松地做你想要的图表日志:

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

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

      【讨论】:

      • 我看过了,但我想尝试将其全部包含在 git commit 消息中,如果没有图表,它会工作吗?
      • @Cellze 没有图表是什么意思?如果您的意思是如果您在日志中获得注释,是的,正常的 git log 会显示注释以及其他提交信息。
      • 您提到无法将它与图形一起使用-我只是在问图形属性是否是问题所在。我不希望将回购迁移到使用笔记,但感谢您的回答,绝对应该从一开始就使用它。
      猜你喜欢
      • 2013-03-05
      • 2020-07-17
      • 1970-01-01
      • 2016-01-24
      • 1970-01-01
      • 1970-01-01
      • 2010-09-15
      • 2015-11-23
      • 2019-12-11
      相关资源
      最近更新 更多