我将如何在 git 中确定仍然存在的来自特定作者的所有行。例如,一个 Tony 参与了我的项目,我想找到我的开发分支中仍然存在并且来自 Tony 编写的提交的所有行?
问问题
7198 次
2 回答
22
也许只是git blame FILE | grep "Some Name"
。
或者,如果您想递归地责备+搜索多个文件:
for file in $(git ls-files); do git blame $file | grep "Some Name"; done
注意:我最初建议使用下面的方法,但是您可能会遇到的问题是它也可能在您的工作目录中找到 git 实际未跟踪的文件,因此git blame
这些文件将失败并且打破循环。
find . -type f -name "*.foo" | xargs git blame | grep "Some Name"
于 2015-08-31T22:52:21.307 回答
14
sideshowbarker 大部分是正确的,但固定的第二个命令是:
find . -type f -exec git blame {} \; | grep "Some Name"
虽然我更愿意这样做:
for FILE in $(git ls-files) ; do git blame $FILE | grep "Some Name" ; done | less
于 2015-08-31T23:05:59.720 回答