首页 > 解决方案 > 如何在我的整个 git repo 的提交历史中搜索字符串更改?

问题描述

我有一个网站/回购。

我网站的一部分说:

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

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

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

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

多年来有很多提交/分支。

标签: regexgitversion-controlgit-log

解决方案


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

git log -S "theirwebsite"

看看doc ,如果您的实际需要比您在此处描述的更复杂,也许可以考虑使用正则表达式搜索。


更好的是:--all您可以搜索整个仓库(感谢j6t的诀窍!)

git log --all -S "theirwebsite"

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


推荐阅读