git log
是git中最常用的一个命令,执行之后,会显示该项目的提交历史。
1、命令:
$ git log
如果命令不加任何参数,那么就会显示目前所在分枝上,从最后一次提交开始,按时间顺序依次向前排列的所有提交历史记录。
例如:
$ git log
添加文件:CustomerService
commit b83ce89c7e4afada27ce70c10922381d0e5d647d
Author: vorlcher <vorlcher@abc.com>
Date: Fri Feb 26 09:46:47 2016 +0800
添加文件: SystemUpdate
commit 4443d0d99cdbc4f2b10aa2111a61d7696a75b892
Author: vorlcher <vorlcher@abc.com>
Date: Fri Feb 26 09:40:01 2016 +0800
上面显示了2次提交,对于每一次的提交都会显示四方面内容,分别是:
*提交的校验和
*作者信息(作者名和email地址)
*提交日期
*提交信息
2、查看每一次提交条目的补丁内容,只需要在git log
后加上-p选项。
$ git log -p
在合并到你的某个分支之前可以查看其他作者提交了什么内容,或者是查看在最后发布之前所做的修改。
3、可以通过执行git log --stat
命令,来显示被修改文件的修改统计信息,添加或删除了多少行。
$ git log --stat
例如:
$ git log --stat
添加文件:CustomerService
CustomerService/.idea/.name | 2 +-
CustomerService/.idea/misc.xml | 29 +----------------------------
CustomerService/.idea/modules.xml | 5 +----
3 files changed, 3 insertions(+), 33 deletions(-)
commit b83ce89c7e4afada27ce70c10922381d0e5d647d
Author: vorlcher <vorlcher@abc.com>
Date: Fri Feb 26 09:46:47 2016 +0800
4、使用git log --pretty=format
命令,可以将提交历史显示成你想要的格式。这里format的可选项包括:oneline,short,medium,full,fuller,email,raw。每种格式都有侧重的显示相关内容。
最常用的一种格式是’oneline’, 每一行表示一次提交,一行内容包括校验和与提交信息两项内容。这种显示格式可以很简洁的显示大量的提交信息。
$ git log --pretty=oneline
例如:
$git log --pretty=oneline
16c499ec95002510d036a4b79299e9707181b0ca 补全注释,规范布局文件
176abf86dad7679eb7a0d3a3f1080e0c83467479 添加文件:CustomerService
b83ce89c7e4afada27ce70c10922381d0e5d647d 添加文件: SystemUpdate
如果你希望git输出自定义的提交信息,你可以使用这样的git log --pretty=format:"(format)"
内自定义字符串与Git变量相结合的显示格式,在输出时,git会自动的将变量的位置输出为所需内容。
还有一个日志输出选项是-graph,这个选项与–pretty=oneline结合不仅可以显示提交历史而且还会显示图形化的分枝拓扑。
5、’git log’命令后如果跟-before和-after选项,就会显示两个日期之间的提交条目。日期格式也有不同的可选格式。例如,我想查看2月25号之后,1天之前的提交内容,可以运行:
$git log --before ="1 day ago" --after="2016-2-25" --pretty=oneline
176abf86dad7679eb7a0d3a3f1080e0c83467479 添加文件:CustomerService
b83ce89c7e4afada27ce70c10922381d0e5d647d 添加文件: SystemUpdate
6、可以通过提交信息里面的某个字符串来查找相应的提交。
$ git log --grep="提交信息中的某个字符串"
例如:
$ git log --grep="文件"
commit 16c499ec95002510d036a4b79299e9707181b0ca
Author: vorlcher <vorlcher@abc.com>
Date: Fri Feb 26 11:07:31 2016 +0800
补全注释,规范布局文件
commit 176abf86dad7679eb7a0d3a3f1080e0c83467479
Author: vorlcher <vorlcher@abc.com>
Date: Fri Feb 26 09:47:31 2016 +0800
添加文件:CustomerService
commit b83ce89c7e4afada27ce70c10922381d0e5d647d
Author: vorlcher <vorlcher@abc.com>
Date: Fri Feb 26 09:46:47 2016 +0800
添加文件: SystemUpdate
7、显示指定贡献者相关的提交
$ git log --author="author name"
例如:
$ git log --author="vorlcher"
commit 16c499ec95002510d036a4b79299e9707181b0ca
Author: vorlcher <vorlcher@abc.com>
Date: Fri Feb 26 11:07:31 2016 +0800
补全注释,规范布局文件
commit 176abf86dad7679eb7a0d3a3f1080e0c83467479
Author: vorlcher <vorlcher@abc.com>
Date: Fri Feb 26 09:47:31 2016 +0800
添加文件:CustomerService
commit b83ce89c7e4afada27ce70c10922381d0e5d647d
Author: vorlcher <vorlcher@abc.com>
Date: Fri Feb 26 09:46:47 2016 +0800
添加文件: SystemUpdate