git blame

逐行显示文件中每一行最后是谁在什么时候修改的

语法

git blame [<options>] [<rev>] [--] <file>

参数

参数说明示例级别
-L <start>,<end> 只显示指定行范围 常用
-w 忽略空白字符变更 常用
-C 检测代码从其他文件复制或移动的情况 常用
-e 显示作者邮箱而非姓名 常用
--since <date> 只显示指定日期之后的修改 常用

示例

查看文件每一行的最后修改者

git blame src/utils.js
a1b2c3d (张三 2024-03-15) function formatDate() {

只查看第 10-20 行的修改记录

git blame -L 10,20 src/app.js

忽略空白变更,找到真正的内容修改者

git blame -w src/style.css

追踪代码是否从其他文件复制而来

git blame -C src/newFile.js

配合 log 查看文件的完整变更历史

git log --follow -p -- src/utils.js

技巧

相关命令