获取给定作者的所有包含一段代码 (added/updated/deleted) 的提交

Get all the commits which have some piece of code (added/updated/deleted) for a given author

我想检查给定的作者,他在玩给定的一段代码时提交了多少次提交?

例如:- 假设作者 A 在 git 存储库的文件中某处添加了 Hello World! 并提交了它。然后,他将该行移动到另一个文件并提交。最后,他将其从 git 生态系统中彻底移除。我想要输出中的所有 3 个提交。

I ran into this use-case while back. I googled and did some experiments after reading some online git log documentations. Therefore, I thought of sharing the knowledge with a bigger audience. Suggestions are welcome!

可以使用以下代码:

git log --all -S "<Piece of code>" --author="<Author's Name/Email>" 

在这里,-S "<Piece of code>" 将要求 git 搜索带有 piece of code 输入的提交日志,然后 --author="<Author's Name/Email>" 将应用一个额外的过滤器来检查所需的作者.

注意--author的输入区分大小写。可以通过在上面的命令中添加 -i 来解决这个问题。

git log --all -S "<Piece of code>" -i --author="<Author's Name/Email>"