如何在git中确定来自特定作者的所有仍然存在的行?例如,一个Tony在我的项目中工作过,我想在我的开发分支中找到所有仍然存在的,并且来自Tony撰写的提交的行?
可能只是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"
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