使用 git blame
,你可以逐行查看在一个特定文件中谁更改了什么内容,这对于一个协作团队来说很有用。例如,如果你不知道为什么会有某一行代码,就可以使用 git blame
,然后你就知道应该询问谁。
用法
你可以这样使用 git blame
:git blame NAME_OF_THE_FILE
例如:git blame triple_welcome.rb
你会看到如下输出:
0292b580 (Jane Doe 2018-06-18 00:17:23 -0500 1) 3.times do
e483daf0 (John Doe 2018-06-18 23:50:40 -0500 2) print 'Welcome '
0292b580 (Jane Doe 2018-06-18 00:17:23 -0500 3) end
每一行都用 SHA、作者姓名和上次提交日期进行注释。
Git Blame 别名
一些程序员不喜欢 “blame” 一词,因为它带有负面含义“责备某人”。不过,这个命令很少(如果有的话)用来指责某人,而是寻求建议或了解文件的历史记录。因此,有时人们使用别名让 git blame
听起来更好,例如 git who
、git history
或者 git praise
。为此,你只需添加一个 git 别名,如下所示:
git config --global alias.history blame
你可以在这里查看关于 git blame
别名的更多信息。
使用 Git Blame 的文本编辑器插件
有一些文本编辑器插件使用了 git blame
,例如,要创建诸如热图之类的东西,或为你要检查的当前管线添加内联信息。一个著名的例子是 VSCode 的 GitLense。