Refrence
- http://www.zhai14.com/blog/git-blame-command-help-u-find-out-who-made-the-serious-mistake.html
- https://git-scm.com/docs/git-blame
git blame
这个命令,正是解决 “找出真凶” 这个问题的快速方法。
通过 git blame
命令,我们可以查出某个文件的每一行内容到底是由哪位大神所写。
现在就让我们来看看如何使用这个命令。
查看某个文件的每一行内容由谁所写:
git blame 文件名
结果形式大概如下图所示:
图中 1)、2)
这些符号代表文件的第多少行,符号后面就是文件当行的内容。
从上图我们就可以看出,fengchezhi这位同志,在2019-09-22 17:19:43这个时间点提交了12行代码。
如果只查文件中某一部分由谁所写:
git blame 文件名 | grep "查找词"
或者:
git blame 文件名 -L a,b
- -L 参数表示后面接的是行号(Line), a,b代表查询文件的第a行到第b行之间的文件内容情况。
- a, 则代表从第a行到文件结尾
- ,b则代表从文件开头到第b行。
假如我们要查上图的第5行,命令则如下所示:
git blame webpack.mix.js | grep "Mix Asset"
或
git blame webpack.mix.js -L 5,5
仅仅这些,我想应该已经足够帮助我们找出真凶了。
如果你想更加强大,这里有git blame命令的详细文档:https://git-scm.com/docs/git-blame,供你慢慢啃。
话说,两年前的我怎么就没有百度呢,居然还跑到git仓库里翻git log日志记录。