【发布时间】:2016-07-02 16:12:15
【问题描述】:
假设我们在代码中看到一行:
a = foo.bar + xyz.abc + fn() * 3;
现在我们知道foo.bar 是“错误”代码或导致某些问题的代码。而git blame 将显示该行是由迈克尔编写的。但是,Michael 可能没有签入那部分代码。他可能只修改了* 3 部分。那么在这种情况下,我们如何才能在 repo 中找到foo.bar 的第一次出现,并找出是谁编写或添加了它?
我想用
git show HEAD:path/to/file.js | grep 'foo.bar'
然后
git show HEAD~1:path/to/file.js | grep 'foo.bar'
git show HEAD~2:path/to/file.js | grep 'foo.bar'
只需将2 增加到3、4 等,直到我看不到显示foo.bar 的那一行。
但是如果这个数字可以很大,比如120 或343。有没有更好或更快的方法?
【问题讨论】:
标签: git