Git命令 - git log命令介绍

2023-07-18  本文已影响0人  BlueSocks

1. 控制显示的参数

git log

git log -p

git log --stat

git log --shortstat

git log --name-only

git log --name-status

git log --abbrev-commit

--relative-date

--graph

//如:一行显示,只显示哈希值和提交说明
--pretty=oneline

//还可以控制显示的记录格式:%h-提交对象的简短哈希字串,%Cred-字体颜色为红色
--pretty=format:'%Cred%h'

$ git log --date=format:'%Y-%m-%d %H:%M:%S'

2. 筛选条件

//显示前10条log
git log -10   

//显示2022年01月01号及之后的commit
git log --after="2022-01-01" 

//显示2022年01月01号之前的commit
git log --before="2022-01-01"

git log --author="开发者"

git log --grep="Initial commit"
//可以传入-i用来忽略大小写
//如果想同时使用--grep和--author,必须在附加一个--all-match参数

$ git log -- test.txt test1.txt

$ git log  *.md

查看file目录下所有文件提交记录
$ git log -- file/

//查看dev分支的提交记录
$ git log dev --

//查看“Hello World!”这段内容的提交记录
git log -S'Hello World!'

//如果想使用正则表达式去匹配而不是字符串,可以使用-G代替-S
git log -G'*Hello'

$ git log master..feature

//过滤掉merge commit
git log --no-merges
//查看merger
git log --merges

//查看 v1.0标签记录
git log v1.0

//查看v1.0标签之后的提交记录
git log v1.0..

//查看commit a08ab之前的记录
git log a08ab

//查看ao8ab和da80d之间的记录
git log ao8ab da80d

3. log显示格式-format使用

上面已经介绍了,--pretty=format可以设置日志输出格式,如下:

/控制显示的记录格式:%h-提交对象的简短哈希字串,%Cred-字体颜色为红色
--pretty=format:'%Cred%h'

3.1. 日志显示格式

3.2. 颜色格式

颜色以%C开头,后边接几种颜色,还可以设置字体,如果要设置字体的话,要一块加个括号。

能设置的颜色值包括:

字体属性则有:

3.3. 自定义日志显示效果

  1. 首先,通过--pretty=format:定义日志格式、字体颜色,如下
--pretty=format:'%Cred%h%Creset -%C(yellow)%d%C(bold reset) %s %Cgreen(%cd) %C(bold blue)<%an>%Creset'

  1. 自定义时间格式
//定义时间格式
--date=format:'%Y-%m-%d %H:%M:%S' 

  1. 再加上其它参数,如:
//仅显示commitId的前几个字符
--abbrev-commit
//显示ASCII图形表示的分支合并历史
--graph
//显示每个修改过的文件 
--stat

  1. 将上述定义日志格式的命令进行拼接,完整命令如下:
$ git log --graph --stat --color --date=format:'%Y-%m-%d %H:%M:%S' --pretty=format:'%Cred%h%Creset -%C(yellow)%d%C(bold reset) %s %Cgreen(%cd) %C(bold blue)<%an>%Creset' --abbrev-commit

当然,根据需要,也可以再拼接或者去除某些参数。同时,为了方便使用,可以将上述的完整命令配置为alias:

//为自定义的git日志输出格式配置alias
$ git config --global alias.lg "log --graph --stat --color --date=format:'%Y-%m-%d %H:%M:%S' --pretty=format:'%Cred%h%Creset -%C(yellow)%d%C(bold reset) %s %Cgreen(%cd) %C(bold blue)<%an>%Creset' --abbrev-commit"

//之后,使用git lg命令就可以输出自定义的日志格式了

上一篇 下一篇

猜你喜欢

热点阅读