我正在我的 git 存储库中的一个特定分支上工作,并注意到我认为我更改的一段代码。也许更改发生在另一个尚未合并到master的分支上或我正在工作的当前分支上。如何在整个存储库(包括所有分支)中搜索对一个源代码文件的特定更改?
你可以尝试使用镐头(-S)或正则表达式(-G)的选项git log。
git log --all -Schange -- path/to/change
Run Code Online (Sandbox Code Playgroud)
(用您知道代表您的特定更改的关键字替换更改)
请参阅“如何在 git 历史记录中 grep(搜索)提交的代码? ”
如我所说:
这会查找引入或删除
<string>.
它通常表示“您添加或删除带有 'change' 的行的修订版”。
添加--all以在所有分支中搜索。
要获取这些提交所在的分支,您可以使用:
git branch --contains SHA1
Run Code Online (Sandbox Code Playgroud)
(正如我在“如何列出包含给定提交的分支? ”中提到的那样)