git log 查看 提交历史
默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排在最上面。

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative    //万能的查看git

## 按时间显示, 显示提交者
git log --graph --all --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset %an' --abbrev-commit --date-order -n 30

## 显示树
git log --graph --all --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative

##
git log --pretty=format:"%h - %an, %ar : %s" --graph

$ git log -p -2
我们常用 -p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新:

$ git log --stat ---- --stat,仅显示简要的增改行数统计:

$ git log --pretty=oneline
每个提交都列出了修改过的文件,以及其中添加和移除的行数,并在最后列出所有增减行数小计。还有个常用的--pretty 选项,可以指定使用完全不同于默认格式的方式展示提交历史。比如用oneline 将 每个提交 放在一行显示,这在提交数很大时非常有用。另外还有short,full 和fuller 可以用,展示的信息或多或少有些不同,请自己动手实践一下看看效果如何。

但最有意思的是 format,可以定制要显示的记录格式,这样的输出便于后期编程提取分析,像这样:
$ git log --pretty=format:"%h - %an, %ar : %s"
ca82a6d - Scott Chacon, 11 months ago : changed the version number
085bb3b - Scott Chacon, 11 months ago : removed unnecessary test code

常用的格式占位符写法及其代表的意义。
选项 说明
%H 提交对象(commit)的完整哈希字串
%h 提交对象的简短哈希字串
%T 树对象(tree)的完整哈希字串
%t 树对象的简短哈希字串
%P 父对象(parent)的完整哈希字串
%p 父对象的简短哈希字串
%an 作者(author)的名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 -date= 选项定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者(committer)的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期,按多久以前的方式显示
%s 提交说明

-p 按补丁格式显示每个更新之间的差异。
--stat 显示每次更新的文件修改统计信息。
--shortstat 只显示 --stat 中最后的行数修改添加移除统计。
--name-only 仅在提交信息后显示已修改的文件清单。
--name-status 显示新增、修改、删除的文件清单。
--abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。
--relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)。
--graph 显示 ASCII 图形表示的分支合并历史。
--pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)。

-(n) 仅显示最近的 n 条提交
--since, --after 仅显示指定时间之后的提交。
--until, --before 仅显示指定时间之前的提交。
--author 仅显示指定作者相关的提交。
--committer 仅显示指定提交者相关的提交。

最新文章

  1. @WebServlet用注解来实现servlet和url的映射
  2. 《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
  3. php的clone 浅拷贝
  4. OpenStack:安装Neutron与provider network
  5. 猜测:信号槽的本质是使用Windows的自定义消息来实现的
  6. 让Qt for Windows Phone 8.1在真机上执行
  7. azkaben任务调度器
  8. android自定义View-继承
  9. SQLLDR导入乱码问题的解决
  10. SY-SUBRC
  11. Edifact 95B报文解读
  12. 【Linux】编辑文件时,箭头按键还有BACKSPACE按键不能正常使用的解决办法
  13. 如何通过Fiddler模拟弱网进行测试
  14. Qt 学习之路 2(55):数据库操作
  15. Linux tmux 工具
  16. 软工实践第八次作业(课堂实战)- 项目UML设计(第五组)
  17. webpack 报错 path is not defind
  18. CentOS 中卸载 RPM 包文件
  19. 千里之堤毁于蚁穴(慎用HD Wallets)
  20. [拒绝毒瘤的小清新系列] give you a tree

热门文章

  1. Tomcat虚拟目录设置
  2. Linux基本命令(新手入门使用)
  3. 第一个Python脚本!
  4. Hibernate 再接触 关系映射 一对一单向外键联合主键关联
  5. isPlainObject的解释
  6. opencv对手写数字进行无黏连切割
  7. python错题整理
  8. Spring Data MongDB空间索引(判断一个点Point是否在一个区域Polygon内)
  9. Linux部署项目
  10. PL/SQL Job