简介
git log:查看提交历史的命令。
命令集
常用命令的序号会高亮显示:
序号 | cmd | description |
---|---|---|
1 | git log | 列出最近的提交记录,但是看不到内容差异 |
2 | git log -p | 1可以看到的信息上,还可以看到内容差异 |
3 | git log -p -2 | 2的基础上,只显示最近2条,其实只显示最近几条是有道理的,往往之前的都是稳定的,应该也有其他方法可以查看。只关注近期的就可以了 |
4 | git log --stat | 1的基础上,还可以看到每次提交的统计信息,比如删除了多少行,增加了多少行,删除了多少行 |
5 | git log --since=2.weeks | 列出所有最近2周以来的提交,过滤信息的一个选项 |
6 | git log --pretty=oneline | 查看的提交数很大时更有用 ,显示内容将每次提交都放在一行,由2部分组成:哈希值 每次的提交日志 |
7 | git log --pretty=short | 相比1,缺少Date行信息 |
8 | git log --pretty=full | 相比7,多了一条Commit信息,关于Author和Commit的区别后续说明 |
9 | git log --pretty=fuller | 相比8,多了2条信息,CommitDate和AuthorDate |
10 | git log --pretty=format:"%h - %an, %ar : %s" | 以指定格式显示log信息,格式占位符代表的含义见下文描述【可以给这里加个跳转点,直接跳转到定义部分】 |
11 | git log --pretty=format:"%h %s" --graph | –graph在分支和合并场景下更加有用 |
12 | git log --grep="key word" | key word是提交说明中的关键字 |
13 | git log --grep="gpio driver" --author="dijian" --all-match | 后面加了–all-match,这样的话–grep和–author的条件都满足的话才会把结果显示出来。但是实际测试发现,不加--all-match的话也达到了同样的效果 |
14 | git log -S\<key string> | 去掉<>,直接跟想要搜索的字符串,会列出那些被删除或者被添加指定字符串的提交 |
15 | git log ./ | 只关注某个目录下或者某个文件的提交 |
实例
git log --author="yuan" src/hardware/gpio_j5/
:在最后一个参数指定的路径中查找yuan作者提交的修改git log -p src/hardware/gpio_j5/resmgr/gpio_resmgr_j5.h
:查看指定文件的修改。git log --pretty="%h %s" --author="yuan" --since="2021.09.01" --until="2021.10.31"
:把指定作者、指定时间段[)的提交日志按照–pretty指定的格式显示出来。注意since指定的那一天是包含在内的,until指定的时间不包含在内。git log --pretty=format:"%h - %an, %ar : %s"
format后面跟的格式占位符含义说明如下:
%h
:提交对象的简短哈希子串
%an
:author’s name
%ar
:author’s revision,作者修订日期,按多久以前的方式显示。
%s
:提交说明