我做了一个
我如何显示我提交的新提交消息和旧提交消息之间的差异?(例如,从
git rebase -i
并重新编辑了一个提交。我如何显示我提交的新提交消息和旧提交消息之间的差异?(例如,从
git reflog
中的提交)git rebase -i
并重新编辑了一个提交。git reflog
中的提交)git reflog
命令。git reflog
a123b4c (HEAD -> main) HEAD@{0}: rebase -i (finish): returning to refs/heads/main
a123b4c (HEAD -> main) HEAD@{1}: rebase -i (pick): commit message 1
c456d7e HEAD@{2}: rebase -i (start): checkout HEAD~2
e890f1g HEAD@{3}: commit: old commit message 2
git show --pretty=format:%s a123b4c
commit message 1
git show --pretty=format:%s e890f1g
old commit message 2
diff
命令来比较两个提交信息。diff_git_commit_messages() {
if [ $# -ne 2 ]; then
echo "Usage: ${FUNCNAME[0]} <commit-hash-1> <commit-hash-2>"
return
fi
diff \
<(git show --pretty=format:%s $1) \
<(git show --pretty=format:%s $2)
}
e.g.,
$ diff_git_commit_messages 6bfa911 HEAD
1c1
< add file
---
> my new msg
git-range-diff(1)
命令。这个命令会显示所有的变动,但我想,由于数据(文件)没有任何变动,所以对应的小上下文差异不会太分散注意力。main
。first
以方便使用。HEAD
,那么你可以使用@
或者HEAD
。Short message
Short message
Actually let's write a longer message.
$ git range-diff @~ first second
1: 69a2ff6 ! 1: 23825c2 Short message
@@ Metadata
## Commit message ##
Short message
+ Actually let's write a longer message.
+
## a (new) ##
@@
+hello
hello
):元数据部分中添加的行在“版本”之间添加,而hello
由两个版本添加(因此没有交互差异)。