我正在我的git repo中的一个特定分支上工作,并注意到我认为我改变了一段代码。也许这个变化发生在另一个尚未合并到master
的分支或我正在工作的当前分支上。如何搜索整个存储库,包括所有分支,以便对一个源代码文件进行特定更改?
答案 0 :(得分:4)
您可以尝试使用git log
的pickaxe(-S
)或regexp(-G
)选项。
git log --all -Schange -- path/to/change
(用您知道代表特定更改的关键字替换更改)
请参阅“How to grep (search) committed code in the git history?”
正如我所说:
这会查找引入或删除
<string>
实例的差异 它通常表示“使用'change
'”添加或删除行的修订。
添加--all
以便搜索所有分支。
要获得这些提交的分支,您可以使用:
git branch --contains SHA1
(正如我在“How to list branches that contain a given commit?”中提到的)