接着上一篇,在介绍一些git的使用
上篇中介绍了三板斧,都是基本的操作,这个项目一路上走来都发生了些什么,你总应该有个大致了解吧,今天就介绍一下如何查看提交历史
git log
这个命令会输出某个分支上,从开始到现在每次提交发生了些什么,默认把最新的提交放在最上面,方便大家,下面简单说说它的几个常用参数
-p:比较几次提交之间的差异,可以跟上-n,比如git log -p -2/-3,这个在做代码审查的时候很方便,可以看看其他协作者都做了哪些修改
--stat:仅仅显示增改行数的统计
--pretty: 可以赋值,有oneline,short,full,fuller,format oneline是很好用的,这在提交数很大的时候很有用,还有一个是很有意思的,就是format,举个例子
git log --pretty=format:"%h - %an, %ar : %s",同时把常用的占位符列一下:
选项 | 说明 |
%H | 提交对象(commit)的完整哈希字串 |
%h | 提交对象的简短哈希字串 |
%T | 树对象(tree)的完整哈希字串 |
%t | 树对象的简短哈希字串 |
%P | 父对象(parent)的完整哈希字串 |
%p | 父对象的简短哈希字串 |
%an |
作者(author)的名字 |
%ae | 作者的电子邮件地址 |
%ad | 作者修订日期(可以用 -date= 选项定制格式) |
%ar | 作者修订日期,按多久以前的方式显示 |
%cn | 提交者(committer)的名字 |
%ce | 提交者的电子邮件地址 |
%cd | 提交日期 |
%cr | 提交日期,按多久以前的方式显示 |
%s | 提交说明 |
再把git log的常用选项列举一下吧,具体的尝试大家自行测试
-p : 按补丁格式显示每个更新之间的差异
--stat : 显示每次更新的文件修改统计信息
--shortstat : 只显示 --stat中最后的行数修改添加移除统计
--name-only : 仅在提交信息后显示已修改的文件清单
--name-status : 显示新增、修改、删除的文件清单
--abbrev-commit : 仅显示 SHA-1 的前几个字符,而非所有的40个字符
--relative-date : 使用较短的相对时间显示(比如,“2 weeks ago”)
--graph : 显示 ASCII 的图形表示的分支合并历史
--pretty : 使用其他格式显示历史提交信息,后面的参数上面已经说明了
git log还有一点比较好的功能:限制输出长度
按照时间显示的选项,比如 --since 和 --until,可以这样去用
git log --since=2.weeks, git log --since="2016-05-25"这样来指定后面的时间
类似这样的匹配还有:
-(n) : 仅显示最近的n条提交
--since, --after : 仅显示指定时间之后的提交
--until, --before : 仅显示指定时间之前的提交
--auther : 仅显示指定作者的相关提交
--committer : 仅显示指定提交者相关的提交
下面综合运用一下: git log --pretty="%h:%s" --auther=wxl --since="2016-05-24" --before="2016-05-25" --no-merges -- t/ 关于命令最后说明一下,t/是项目t/目录下的文件,它前面的 -- 是为了让路径跟前面的选项分开
今天就到此,常用命令应该多熟悉了