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

时间:2019-02-07 06:33:57

标签: regex git version-control git-log

我有一个网站/仓库。

我的网站的一部分说:

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

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

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

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

这些年来,有很多提交/分支。

1 个答案:

答案 0 :(得分:4)

如果您可以忽略无效分支,并假设从您的最新主版本可以访问所有相关代码,那么我建议您使用git log的-S选项:

git log -S "theirwebsite"

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


更好:使用--all,您可以搜索整个存储库(感谢j6t来解决问题!)

git log --all -S "theirwebsite"

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