如何在我的整个git repo的提交历史中搜索字符串更改?

J. *_*Doe 3 regex git version-control git-log

我有一个网站/仓库。

我的网站的一部分说:

“由https://myotherwebsite.com/提供支持”

在某个时候,我在网站上工作的一些巨魔将其改为:

“由https://theirwebsite.com提供支持”

我如何搜索整个回购历史记录到进行此更改的提交。

多年来,已经有很多提交/分支。

Rom*_*eri 5

如果您可以忽略死分支,并假设最新主版本可以访问所有相关代码,则建议您使用-Sgit log选项:

git log -S "theirwebsite"
Run Code Online (Sandbox Code Playgroud)

看一下doc,如果您的实际需求比此处描述的要复杂或变得更加复杂,可以考虑使用regexp搜索。


更好的是:有了它,--all您可以搜索整个仓库(感谢j6t的把戏!)

git log --all -S "theirwebsite"
Run Code Online (Sandbox Code Playgroud)

(并且,如vfalcao所述,请考虑使用--name-only此处的选项列出发生此更改的文件。)

  • 不必忽略死分支的限制。只需在建议的“ git log”命令中添加“ --all”即可搜索所有分支。 (2认同)