【问题标题】:git log patch without commit message没有提交消息的 git log 补丁
【发布时间】:2019-12-11 12:35:42
【问题描述】:

我正在使用 'git log -p' 来获取 git 补丁。如何在没有提交消息的情况下打印补丁。

Author: abc
Date:   Tue Apr 1 23:46:39 2013 +0000
  I don't want commit message

diff --git 
..............
...........
--- /dev/null
+++

预期:

Date:   Tue Apr 1 23:46:39 2013 +0000

diff --git 
..............
...........
--- /dev/null
+++

【问题讨论】:

    标签: git


    【解决方案1】:

    您可以使用 git log -p --pretty='format:Date: %aD%n' 之类的东西来指定仅包含日期的漂亮格式。如果还想要对象ID,可以写git log -p --pretty='format:commit %H%nDate: %aD%n'

    如果你只对处理单个补丁感兴趣,你也可以使用下面的

    git format-patch --stdout HEAD^..HEAD | sed -n '/^Date:/p;/^diff --git/,$p'
    

    如果你愿意,你可以用 Perl 或 Ruby 代替 sed 来做更高级的事情,这将允许你处理更多的补丁。

    【讨论】:

      【解决方案2】:
      git log -p --format=
      

      显示不包含任何提交消息的补丁。类似于:https://stackoverflow.com/a/40837380/1959808

      【讨论】:

        猜你喜欢
        • 2012-09-05
        • 1970-01-01
        • 2011-09-07
        • 1970-01-01
        • 2017-04-11
        • 1970-01-01
        • 2021-06-09
        • 2011-09-20
        • 2015-08-10
        相关资源
        最近更新 更多