这是当天的git挑战。我已经花了一个小时的时间,但有人可能从头顶知道它。
你如何对repo中的所有* _template.html文件进行git责备,并且只打印出具有字符串" foobar"在他们身上?
我正在寻找该字符串的第一次出现,所以如果有另一种方法可以在这些行上获得最后修改日期,那么这也可以。
答案 0 :(得分:1)
这是我想出来的黑客......
git ls-files -- '**/*_template.html' | xargs -I{} git blame {} | grep "foobar"
答案 1 :(得分:1)
您应该使用git log -p -Sfoobar
。这将打印提交差异,它们已从您的存储库中引入foobar
或完全删除foobar
。它不会打印任何已经foobar
的提交。
这对于找出添加或删除给定符号的原因非常有用。
您也可以将此限制为某些文件或目录:git log -Sfoobar *_template.html