我如何在git中确定仍然存在的来自特定作者的所有行。比方说,Tony已经参与了我的项目,我想找到我的开发分支中仍然存在的所有行,并且来自Tony撰写的提交?
答案 0 :(得分:12)
也许只是git blame FILE | grep "Some Name"
。
或者,如果您想以递归方式指责+搜索多个文件:
for file in $(git ls-files); do git blame $file | grep "Some Name"; done
或者,如果您正在寻找与上述内容不同的输出,请考虑更新问题以更明确地了解您想要的输出。
注意:我最初建议使用下面的方法,但是你可能遇到的问题是它也可能在工作目录中找到git实际上没有跟踪的文件,因此{{1对于那些文件会失败并打破循环。
git blame
答案 1 :(得分:9)
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