git show difference between commit messages
假设我有两个完全相同的提交,但它们的消息不同,我如何在 git 中看到这个?
如何制作这个;假设我在 master 上,在任何提交上;
1 2 3 4 | git checkout -b test git commit --amend // now edit the commit message git diff master |
这显示了一个空输出。我发现在提交消息中看到这种差异的唯一方法是:
1 2 3 | git show --stat master > m git show --stat > t diff m t |
产生这样的输出(我确实修改了 git log 输出格式):
1 2 3 4 | 1c1 < 65fb678 - (HEAD, test) add bcdef (Fri, 8 Jan 2016 11:23:51 +0100) <Chris Maes> --- > 7f9c3ee - (master) add bcd (Wed, 6 Jan 2016 11:28:10 +0100) <Chris Maes> |
是否有任何 git 命令可以查看提交消息的差异(有或没有正常的 git 输出)?
注意我的问题与这个问题相似,但我正在寻找一个允许这样做的 git 命令。
这对我有用:
1 | diff -w <(git rev-list --max-count=1 --format=%B SHA1) <(git rev-list --max-count=1 --format=%B SHA2) |
-
-w 忽略空白差异。 -
<( ... ) 语法创建了一个临时命名管道,它使git show 命令的标准输出看起来和表现得像一个文件,允许 diff 对预期的输入类型进行操作。 -
--format=%B 显示提交消息的原始消息头正文
您可以将
编辑
如果你真的想要一个
1 2 | [alias] msgdiff ="!bash -c '[ $# = 2 ] && diff -w <(git rev-list --max-count=1 --format=%B "$1") <(git rev-list --max-count=1 --format=%B "$2")' -" |
那你就可以了
1 | git msgdiff SHA1 SHA2 |