git log
git log [选项] [分支名/提交哈希] --oneline 选项看简洁版本 --graph 选项,看分支、合并 --reverse 逆向显示日志
查指定用户提交日志:git log --author , 如找 Git 源码中 Linus 提交部分:
$ git log --author=Pinky --oneline -5
指定日期:--since 和 --before,也可--until 和 --after。
如看 Git 项目三周前且四月十八日后所有提交,(用 --no-merges 隐藏合并):
$ git log --oneline --before={3.weeks.ago} --after={2024-06-18} --no-merges
git blame
git blame 逐行显示指定文件每行代码由谁什么时候引入或修改。
git blame [选项] <文件路径>
常用选项:
显示文件每一行的代码注释和相关信息:
git blame <文件路径>
只显示指定行号范围内的代码注释:
git blame -L <起始行号>,<结束行号> <文件路径>
对于重命名或拷贝的代码行进行溯源:
git blame -C <文件路径>
对于移动的代码行进行溯源:
git blame -M <文件路径>
显示行数统计信息:
git blame --show-stats <文件路径>
git blame 命令是以列表形式显示修改记录:
$ git blame README ^d2097aa (tianqixin 2020-08-25 14:59:25 +0800 1) # Runoob Git 测试 db9315b0 (runoob 2020-08-25 16:00:23 +0800 2) # 菜鸟教程
更多内容可以使用 git blame --help 查看完整的帮助文档。
- git log - 查看历史提交记录。
- git blame <file> - 以列表形式查看指定文件的历史修改记录。
-p
:显示提交的补丁(具体更改内容)。--oneline
:以简洁的一行格式显示提交信息。--graph
:以图形化方式显示分支和合并历史。--decorate
:显示分支和标签指向的提交。--author=<作者>
:只显示特定作者的提交。--since=<时间>
:只显示指定时间之后的提交。--until=<时间>
:只显示指定时间之前的提交。--grep=<模式>
:只显示包含指定模式的提交消息。--no-merges
:不显示合并提交。--stat
:显示简略统计信息,包括修改的文件和行数。--abbrev-commit
:使用短提交哈希值。--pretty=<格式>
:使用自定义的提交信息显示格式。
-L <起始行号>,<结束行号>
:只显示指定行号范围内的代码注释。-C
:对于重命名或拷贝的代码行,也进行代码行溯源。-M
:对于移动的代码行,也进行代码行溯源。-C -C
或-M -M
:对于较多改动的代码行,进行更进一步的溯源。--show-stats
:显示包含每个作者的行数统计信息。