这是git的新系列,不常用的命令和其参数比较容易记不住,干脆将常用的记录下来,日后查查方便也是好的,一篇文章一个git命令,长短根据命令有所不同。
git log命令主要用于查看提交历史,同时根据添加的参数不同也会有不同的用法
git log
直接使用git log,使用效果如下图所示,会把提交历史按照如下图的格式展示出来,这是在使用git中必不可少的一条命令
这个命令会根据提交的事件列出所有更新,最近的更新在最上面
从上往下,第一行是提交号,这是该次提交的SHA-1校验和
第二行是作者的名字
第三行是提交时间
最后一行是提交说明
如果提交数过多会进行分页显示,可以按回车继续查看或者q退出查看
git log -2
通过参数,git log -2可以只显示最近的两条提交记录
git log -p
最常用的选项是 -p,这个参数可以用来展示出每次提交内容的差异,不过内容可能会比较多,一般会和上面的-2参数一起使用限定查看的提交数
当然直接指定commit号,查看对应的commit的差异也是可以的
git -log --stat
然而你并不想要这么详细的信息(我的那个就贼长,根本看不下去),也不想要裸命令那么简短的信息,于是应该使用-stat参数
注意了,这里的参数是“两道杠”,一道杠等级不够大队长(git bash)是不认的
这根本看不到啥啊?不满意这个参数往下看。
git log --pretty
--stat显然不能满足定制的需要,所以我们用点厉害的,--pretty参数可以定制显示格式,从最牛皮的开始
git log --pretty=format
它可以定制要显示的记录格式,这才是最想要的
我要偷懒截图了,表格不想弄了
git log --pretty=oneline
它可以让你的提交在一行显示完(当然显示器得够宽)
git log --pretty=short
真的很short了【笑哭】
git log --pretty=full
git log --pretty=fuller
这俩命令就不浪费时间了,只是比short多了点commit信息
git log --shortstat
这个真的就是比--stat短了一点啊,只显示--stat中最后的修改过的统计
git log --name-only
只是在提交信息后面显示被修改的文件清单,连修改几行都不给你显示了
git log --since=2.weeks
虽然有git log -2这样的操作但是一般是不会使用的,有按照时间作限制的选项更常用,例子中的命令是显示近两周的提交
见笑了,两周内该仓库并没有提交(我又懒了)
比较强大的是,这个参数支持多种日期的格式,2018-02-01可以,你要是英语能力过关也可以用英语,2 years 1 day 3 minutes ago
选项 | 说明 |
-(n) | 就是-2这样的用法仅显示最近的n条提交 |
--since , --after | 和例子一样用来限制时间的,仅显示指定时间之后的提交 |
--until , --before | 仅显示指定时间之前的提交 |
--author | 指定作者 |
--committer | 指定提交者 |
--grep | 跟linux的grep一个意思,按关键字显示 |
-S | 仅显示添加或移除了某个关键字的提交 |
感觉-S比较难懂,来个例子
git log -S Singleton
这个是找出添加了 Singleton 这个关键字的提交,和grep参数还有一些区别
git log --grep Singleton
--grep 参数是找出commit message中的关键字,并不能进入提交内部看代码部分,但是-S是根据代码的部分查找
这次就到这就结束啦,如果有错我会再进行修正,请大家多多指教