git blame用来追溯一个指定文件的历史修改记录。它能显示任何文件中每行最后一次修改的提交记录。 所以,如果你在代码中看到一个有 bug 的方法,你可以使用 git blame 标注这个文件,查看哪一次提交引入了这行。
用法:
1 | git blame filename |
可以使用 -L 指定文件的行数范围:
1 | git blame -L n1,n2 filename |
例如:
第一列是commit id;接下来是提交人、提交时间。注意一下 ^1da177e4c3f4 这个提交的几行,其中的前缀 ^ 指出了该文件自第一次提交后从未修改的那些行。
目前,在各大编辑器工具中都集成了该功能。例如eclise:
idea:
https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E4%BD%BF%E7%94%A8-Git-%E8%B0%83%E8%AF%95
下面再给大家分享一下这么好用的git blame命令,你用了吗
git blame用了好多年,最近发现有些小伙伴还没用过,特此记录一下。
git blame命令可以查看一个代码文件中每一行是谁最后添加或者修改的,使用方法如下:
git blame 文件名
打印结果是每行代码最后的修改时间、修改人、提交对应hash号。下面是其中的一行:
fa213368 (xiaoxia.wang 2020-09-01 15:37:01 +0800 292) public static final boolean MULTIUSER_DEBUG = false;
第一列,hash号,如果想看这个提交的详细内容,可以使用“git show + hash号”命令进行查看
第二列,提交人姓名 ,根据这个信息可以知道这行代码最后是谁修改的。
第三列,修改日期
第四列,代码
有了git blame命令,我们就可以很容易查出来bug是谁改出来的,嘿嘿。