git log查看提交历史详解

今天自己在家没事,总结整理下我日常工作中常用到的git log相关的命令。

1.0 最基础

查看提交历史

git log

很多时候git log很难满足我们的需要甚至说没什么用,就需要具体深入的查看了。

2.0 日常常用

1、查看某一文件的修改历史

git log --<file>

“–” 可不加

2、查看某一节点的修改记录

git show [commit_id]

3、只查看前n条记录

git log -n

问题是他会把修改文件的具体的内容都显示出来,太多很烦,用处也基本不大。

3.0 升级版

1、只查看某节点的修改文件

git show [commit_id] --stat

这样就可以只查看某个节点修改的文件,而不管修改的具体内容

2、查看该节点某一文件修改具体内容

git show [commit_id] <file>

4.0 进阶版

其实到了3.0升级版已经可以满足大部分需求了吧,但是这些才是开始,git log命令很多,可以通过帮助查看。下面列举些:
1、查看某一作者提交的节点

git log --author=<Author>

2、每条log只显示一行

git log --oneline

3、图形显示log

git log --graph

4、优化log

git log --pretty=oneline --graph

5、修改log格式

git log --pretty=format:" "

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

示例下说明:
(显示前2条信息,简单的哈希值,作者,提交时间,提交说明)

$ git log --pretty=format:"%h -%an %ar : %s" -2

4abff36 -Tulaf 2 hours ago : first submit
31413bf -xxxxxx 3 hours ago : Initial commit

这个为了方便可以做个别名:

git config alias.logs "log --pretty=format:'%h -%an,%ar:%s'"

6、结合bash脚本命令来操作

git show [commit_id] | grep diff | cut -d " " f 3

就不解释了,都是最简单的bash命令

这些命令已经参数要结合着使用,才能发挥出更强大的作用以上就是我平时常用的git log相关的命令,基本能满足我的需求了。还有一些关于时间的就不罗列了,平时用的也不多,感兴趣的 git log --help自行学习吧。

总结:

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

示例:
有些还是很常用的,这个列举几个(因为格式)

git log --grep="arm64" //commit信息中带有arm64的条目
git log --before=2020-10-15 //2020.10.15前提交的代码,日期格式注意

好吧很简单,没啥要说明的,没事多试试,有事才能得心应手,哈哈哈。。。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值