使用 git blame,你可以逐行查看在一个特定文件中谁更改了什么内容,这对于一个协作团队来说很有用。例如,如果你不知道为什么会有某一行代码,就可以使用 git blame,然后你就知道应该询问谁。

用法

你可以这样使用 git blamegit 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 whogit history 或者 git praise。为此,你只需添加一个 git 别名,如下所示:

git config --global alias.history blame

你可以在这里查看关于 git blame 别名的更多信息。

使用 Git Blame 的文本编辑器插件

有一些文本编辑器插件使用了 git blame,例如,要创建诸如热图之类的东西,或为你要检查的当前管线添加内联信息。一个著名的例子是 VSCode 的 GitLense

原文:Git Blame Explained with Examples