我正在寻找一种以这种格式打印git log的方法:
# sha subject: body
8c75408 commit a: this is a first line of commit a
8c75408 commit a: this is a second line of commit a
5b710e0 commit b: this is a first line of commit b
c59982e commit c: this is a first line of commit c
您可能会注意到,这与grep --with-filename
的格式非常相似。
也就是说,它打印带有前缀sha(或其他格式化字符串)的所有提交注释,以便我可以使用| grep 'second line'
轻松地在注释中查找特定行。例如,
# after grep
8c75408 commit a: this is a second line of commit a
一些可能的选择是:
git log --format='%h %s' --grep 'second line'
与我想要的最相似,只是它不会打印匹配的实际行。
# output
8c75408 commit a
git log --format='%h %s:%n%b' --grep 'second line'
会打印匹配提交的所有提交消息。
# output
8c75408 commit a:
this is a first line of commit a
this is a second line of commit a
答案 0 :(得分:0)
我的.gitconfig
中有别名
[alias]
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
在meld的存储库上运行git lg
会得到以下输出:
如果这是您想要的,我建议使用GUI,gitk
是一个很好的。