如何在我的所有 Git 远程分支中搜索添加了特定行或两行代码的提交(不仅仅是一个文件,而是其中的内容)?
我的 repos 都在 github 上。
git blame
符合你的需要吗?您可以在特定修订版上运行它(与它是否在远程无关,请参阅如何在远程端存储库上“git blame”?)。
例如:
$ git blame master file_in_question.c
$ git blame 20f89e16 file_in_question.c
此外,如果您的存储库位于 GitHub 上,您可以根据需要使用它们的界面git blame
。请参阅“使用 git blame 跟踪文件中的更改”
除了使用之外git blame
,您还可以使用在本地分支中搜索
git log -S<search-string> --source --all
它也可能搜索您本地的远程跟踪分支,但我不确定。当然,您总是可以只创建远程分支的本地分支。有关更多详细信息,请参阅git:查找引入字符串的提交。
还有一个您可以使用的正则表达式版本(请参阅git log
文档):
-G<regex>
查找添加或删除的行与给定的 匹配的差异
<regex>
。