git log 命令小结

git log 用于查找提交记录。

常用命令:

1.直接输出

直接输出: git log

输出结果格式为:

commit 2827c3f04d5da2bba393df87051380b33314b073
Author: username <user email>
Date:   Fri Apr 23 16:17:49 2021 +0800

    add some file

commit 2bf031908406da141652cd54791beba26937cf09
Author: username <user email>
Date:   Fri Apr 23 16:16:52 2021 +0800

    fix a ui bug

比较占用屏幕空间。

2.查找 commit 信息中包含关键字的记录

git log --grep=key

3.查找某个 author 的提交记录

git log --author=James

4.查找某个 committer 的提交记录

git log --committer=Tom

author 和 committer 的差异是,某个文件最初是 author (James)创建的,但是是由 committer(Tom)修改并提交了。

5.查看某个 commit_id 的具体内容

git show commit_id ,就会显示具体的修改差异

6.查看某个 commit_id 的修改的文件,不显示文件的修改差异

git show commit_id --name-only

7.查看某个 commit_id 的修改的文件的状态

不显示文件的修改差异,显示文件状态,可以看出是新增(A)的还是删除了(D)还是修改了(M):
git show commit_id --name-status

8.查看某个 commit_id 的提交修改的某个文件或文件夹的具体修改内容

git show commit_id xxx/xxx/filename

9.查看某个文件的提交记录,即使此文件已删除

已删除的文件,使用 git log filePath/filename 是无法查看到的,

使用 git log -- filePath/filename

10.查看分支提交情况

git log --graph
在这里插入图片描述

11.自定义输出格式

自定义输出格式:git log --pretty=format:" "

示例:git log --pretty=format:"%h - %an, %C(yellow)%cd - %C()%s"
在这里插入图片描述

–pretty=format: 参数参考 https://git-scm.com/docs/pretty-formats
%h : commit id
%an :author name ,作者
%ae :author email ,作者 email
%cd :committer date (format respects --date= option) ,提交日期
%cr :committer date, relative ,提交日期,显示效果为 3天前、4个月前
%ct :committer date, UNIX timestamp ,提交日期,显示为 UTC 时间
%cs :committer date, short format (YYYY-MM-DD)
%s :subject ,commit 信息
%C(…​) :设置颜色 ,可以指定某个信息的颜色,如设定 提交日期 %cd 的颜色 %C(yellow) %cd - %C();

12.查看提交,按作者和标题分组

参考 git-shortlog

按照提交时间、提交人的顺序输出,并且显示提交内容 git shortlog
在这里插入图片描述

只列出提交人和提交数,不会显示提交内容 git shortlog -s
在这里插入图片描述

只列出提交人和提交数,按照提交数量排序,不会显示提交内容 git shortlog -ns
在这里插入图片描述