文章大纲

Git系列之git blame:找出真凶

2019年10月26日 02:38

我是在两年前,也就是2017年的时候,进入一家新的公司才学习的Git。也算是我那近3年来第一家以后端工程师的职位加入团队形式的工作。


刚进去一两个月,后端也就三四个人,合作开发却总是出现代码冲突或者代码错误上传的问题,还总怀疑到我头上,然后我不得不在Git代码里翻历史记录,以此找出原因,从而来证明自己的清白。背锅很不爽,这也是我为何给本篇取名叫:找出真凶。


最近才偶然发现git blame这个命令,正是解决“找出真凶”这个问题的快速方法。


通过git blame命令,我们可以查出某个文件的每一行内容到底是由哪位大神所写。

现在就让我们来看看如何使用这个命令。


查看某个文件的每一行内容由谁所写:

git blame 文件名

结果形式大概如下图所示:



图中1)、2)这些符号代表文件的第多少行,符号后面就是文件当行的内容。

从上图我们就可以看出,fengchezhi这位同志,在2019-09-22 17:19:43这个时间点提交了12行代码。


本文是翟码农个人博客蓝翟红尘里的Linux专题下的Git系列的相关文章,转载请注明出处:http://www.zhai14.com/blog/git-blame-command-help-u-find-out-who-made-the-serious-mistake.html


如果只查文件中某一部分由谁所写:

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日志记录。



  • 2019年10月26日 00:58文章创建
  • 2019年10月26日 02:38文章发布
我要评论
«-必填,限2-20个字符,中文/字母/字母数字组合
«-评论后,邮箱会收到激活链接,未激活邮箱的留言,将无法显示
评论列表
ab123 : 2021-07-08 10:28:11
6666666
回到顶部