git 的每个commit相关日志通常有多行,比如作者的一个库的日志显示如下运行git log

commit c0bb1d12198ee2868e8668efd449a5eb8f871f0b
Author: jiayuehua
Date:   Tue Dec 15 22:27:40 2015

adapt lines position

commit 66033c4c8e58b8c394d3090ab0d7c4f46b0740e0
Author: jiayuehua
Date:   Thu Dec 10 03:40:09 2015

rm test_push

如果提交很多的话,查找一个commit将很不方便。

解决方法是使用“美观”格式,命令如下:

$ git log --pretty=oneline

输出的例子

c0bb1d12198ee2868e8668efd449a5eb8f871f0b adapt lines position
66033c4c8e58b8c394d3090ab0d7c4f46b0740e0 rm test_push
9911dad5c6b28441a7082cc5dca9e5967ea1d5ee test push
909a078bb341ffce038319e339e40a1f5f5ff7f9 git attributes lf crlf
f4e89dba921ff93e6884e2bb85535b1a6917c48f tabspace convert

然而还是不太方便,只显示sha1 id 和commit msg,没有显示作者,日期等,有没有其他办法 呢。

办法是有的,只要修改git配置文件~/.gitconfig, 加入如下两行

[format]
pretty = format:%C(auto) %C(yellow)%h%Creset %C(green)(%ad)%Creset   %C(yellow)%an%Creset  %s

这是再次运行git log不用加任何参数,输出将美观的显示如下

 c0bb1d1 (Tue Dec 15 22:27:40 2015)   jiayuehua  adapt lines position
 66033c4 (Thu Dec 10 03:40:09 2015)   jiayuehua  rm test_push
 9911dad (Thu Dec 10 03:39:34 2015)   jiayuehua  test push

加入了作者和日期字段,而且各个字段是有颜色的。我将第一个字段设成了黄色,第二个绿色,等等。另外commit id也是更加简洁的以7个短字符显示,如 c0bb1d1 。比以前美观许多了吧。赶快试试吧。