场景
前几天项目上线,然后评审代码的时候发现了一个变量命名的错误:本该用let
命名的变量,却意外的写成了const
。因为是在我的分支上发现的,一时矛头指向了我。
我提交代码的时候习惯挨个检查修改的文件内容,这肯定不是我写的。猜测是从别的分支合并过来的。
排查
第一种方法
- 我借助工具
Git Extensions
,找到对应的文件,查看文件历史 - 比对
commits
之间的文件差异
如上图右下方区域,就是这段代码,现在已经定位到了文件改动,但是又接着追踪了几个父commits,依然无法定位到直接修改文件的commit。
第二种方法(推荐)
通过命令可以直接列出来文件每一行的修改人信息
git blame
- 显示修改和作者最后修改了文件的每一行
javascript
git blame [filepath] -L[start],[end]
查看某个文件,第1行到第10行代码的最后修改信息(commitID,人,时间)
vscode安装插件后,鼠标放到指定行上,就会显示修改的信息
根据git blame
命令我们可以看到commitId,然后根据commitId,去查找提交的记录
我是 甜点cc ,个人网站: home.i-xiao.space/vuepress-st...
实干是实干者的通行证!
公众号:【看见另一种可能】