想要查看Git 的提交历史,大多数都是直接使用 git log,这样 是可以查看,不过有点丑.下面来看下 一步步的美化 log显示吧
使用Git --help 可以发现log 命令格式如下
git log [<options>] [<revision range>] [[--] <path>...]
一,基础用法
-
git log
最常见的用法 ,看一两条或者几条还行.多了就看着有点蒙了,如果一页显示不下 上下箭头显示更多
二.升级版显示
命令汇总
-
-p
:按补丁格式显示每个更新之间的差异 -
--stat
:显示每次更新的文件修改统计信息 -
--shortstat
:只显示--stat中最后的行数添加修改删除统计 -
--name-only
:仅在提交信息后显示已修改的文件清单 -
--name-status
:显示新增、修改、删除的文件清单 -
--abbrev-commit
:仅显示 SHA-1 的前几个字符,而非所有的 40 个字符 -
--relative-date
:使用相对时间显示(比如2 days ago) -
--graph
:显示ASCII图形表示的分支合并历史 -
--pretty=
:使用其他格式显示历史提交信息。可用的选项包括 oneline,short,medium,full,fuller,email,raw以及format(后跟指定格式)。
format:后边的参数:
- %H 提交对象(commit)的完整哈希字串
- %h 提交对象的简短哈希字串
- %T 树对象(tree)的完整哈希字串
- %t 树对象的简短哈希字串
- %P 父对象(parent)的完整哈希字串
- %p 父对象的简短哈希字串
- %an 作者(author)的名字
- %ae 作者的电子邮件地址
- %ad 作者修订日期(可以用 -date= 选项定制格式)
- %ar 作者修订日期,按多久以前的方式显示
- %cn 提交者(committer)的名字
作者和提交者的区别不知道是啥?
1.作者与提交者的关系:作者是程序的修改者,提交者是代码提交人(自己的修改不提交是怎么能让别人拉下来再提交的?)
2.其实作者指的是实际作出修改的人,提交者指的是最后将此工作成果提交到仓库的人。所以,当你为某个项目发布补丁,然后某个核心成员将你的补丁并入项目时,你就是作者,而那个核心成员就是提交者- %ce 提交者的电子邮件地址
- cd 提交日期(可以用 -date= 选项定制格式)
- %cr 提交日期,按多久以前的方式显示
- %s 提交说明
-
--date= (relative|local|default|iso|rfc|short|raw)
:时间显示
--date=relative
:shows dates relative to the current time, e.g. "2 hours ago".--date=local
:shows timestamps in user’s local timezone.--date=iso (or --date=iso8601)
:shows timestamps in ISO 8601 format.--date=rfc (or --date=rfc2822)
:shows timestamps in RFC 2822 format,often found in E-mail messages.--date=short
:shows only date but not time, in YYYY-MM-DD format.--date=raw
:shows the date in the internal raw git format %s %z format.--date=default
:shows timestamps in the original timezone (either committer’s or author’s).
筛选相关命令
-
-n
:显示n条log -
--after=
:只显示多久之后的记录, 比如git log --after="2014-7-1”,显示2014年7月1号之后的commit(包含7月1号), 后边的日期还可以用相对时间表示,比如"1 week ago"和”yesterday",比如git log --after="yesterday" -
--before=
:同上 -
--author=
:仅显示指定作者相关的提交 -
--committer
:仅显示指定提交者相关的提交 -
--grep=
:仅显示含指定关键字的提交 -
tagName
:仅显示相应tag的提交 -
commit
:查询commit之前的记录,包含commit
另外还有一个有颜色的显示O(∩_∩)O哈哈~
git log --pretty=format:"%C(red)%h-%C(yellow)%an %C(blue)%ad %C(green)%s" --author=yue --date=short
颜色以%C开头,能设置的颜色值包括:reset(默认的灰色),normal, black, red, green, yellow, blue, magenta, cyan, white.
image.png
网友评论