美文网首页
Git命令 - git log命令介绍

Git命令 - git log命令介绍

作者: BlueSocks | 来源:发表于2023-07-18 11:39 被阅读0次

1. 控制显示的参数

  • 默认日志输出
git log

  • 显示每次commit的文件内容差异
git log -p

  • 显示每个修改过的文件,以及其中添加和移除的行数,并在最后列出所有增减行数小计
git log --stat

  • 只显示--stat中最后的行数添加修改删除统计
git log --shortstat

  • 仅在已修改的提交信息后显示文件清单
git log --name-only

  • 显示新增、修改和删除的文件清单
git log --name-status

  • 仅显示SHA-1的前几个字符,而非所有的40个字符
git log --abbrev-commit

  • 使用较短的相对时间显示(例如:"two weeks ago")
--relative-date

  • 显示ASCII图形表示的分支合并历史
--graph

  • 使用其他格式显示历史提交信息 可选项有:oneline,short,medium,full,fuller,email,raw以及format:,默认为medium
//如:一行显示,只显示哈希值和提交说明
--pretty=oneline

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

  • 自定义日期显示格式: 2022-01-13 11:32:13
$ git log --date=format:'%Y-%m-%d %H:%M:%S'

2. 筛选条件

  • 显示前n条log
//显示前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="开发者"

  • 根据commit描述,查找对应的提交记录
git log --grep="Initial commit"
//可以传入-i用来忽略大小写
//如果想同时使用--grep和--author,必须在附加一个--all-match参数

  • 查看某个文件相关的提交记录
$ git log -- test.txt test1.txt

  • 所有以.md结尾的文件的提交历史
$ git log  *.md

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

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

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

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

  • 在feature有而在master没有的所有commit
$ git log master..feature

  • 查看merge提交记录
//过滤掉merge commit
git log --no-merges
//查看merger
git log --merges

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

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

  • 根据commit id,查看提交记录
//查看commit a08ab之前的记录
git log a08ab

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

3. log显示格式-format使用

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

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

3.1. 日志显示格式

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

3.2. 颜色格式

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

能设置的颜色值包括:

  • reset(默认的灰色),
  • normal,
  • black,
  • red,
  • green,
  • yellow,
  • blue,
  • magenta,
  • cyan,
  • white.

字体属性则有:

  • bold,
  • dim,
  • ul,
  • blink,
  • reverse.

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命令就可以输出自定义的日志格式了

相关文章

  • git版本控制

    查看提交历史 git log 如果想要查看git的提交历史,可以使用git log命令。本文会介绍一些常用的命令选...

  • Git版本回退

    首先我们通过log命令查看我们的历史记录,在Git中,我们用git log命令查看: $ git log --pr...

  • git相关

    git相关 注意点:git命令log与reflog的区别:git log 命令可以显示所有提交过的版本信息(com...

  • git基本命令

    Git 基本命令 git init git status git add git commit git log G...

  • Git命令集合

    基本命令 git init git status git add git commit git log 添加/删除...

  • git log命令全解析

    git log用于查询版本的历史,命令形式如下:git log [ ] [ .. ] [[--] ...]这条命...

  • Git常用命令分享

    Git常用命令 git diff vs git log git pull vs git fetch git reb...

  • git命令大全

    一、 Git 命令初识 在正式介绍Git命令之前,先介绍一下Git 的基本命令和操作,对Git命令有一个总体的认识...

  • git常用命令

    一、 Git 命令初识 在正式介绍Git命令之前,先介绍一下Git 的基本命令和操作,对Git命令有一个总体的认识...

  • git 常用命令详解

    一、 Git 命令初识 在正式介绍Git命令之前,先介绍一下Git 的基本命令和操作,对Git命令有一个总体的认识...

网友评论

      本文标题:Git命令 - git log命令介绍

      本文链接:https://www.haomeiwen.com/subject/otunudtx.html