您的位置:首页 > 其它

[Git] 第五回 Git日志

2016-02-29 15:53 260 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: