在所有分支中搜索代码更改

时间:2011-12-09 02:00:24

标签: git

我正在寻找一个提交,它在我的项目中的某处引入了一行代码“Rental”。如何在包含该短语的引入行的提交中搜索所有分支?

3 个答案:

答案 0 :(得分:12)

git log --branches -S "Rental"

您还可以使用--all代替--branches,其中包括代码,远程分支和您的第一个存储。

答案 1 :(得分:2)

由于您正在寻找引入某些内容的“第一次”,因此您可能需要尝试git bisect而不是。{它将指导您设置“它不在这里”点和“它肯定在这里”然后把你放在不同的提交上(询问“它在这里吗?”)直到它隔离它的位置。它也不是盲目地线性地浏览历史,而是将树“平分”,就像在搜索二叉树一样。

它比整个历史grep慢一点,但对于通常试图追踪其他任何东西的“第一次”更有用;主要用例是“这个bug第一次发生的时间。”

然后使用git branch --contains <commit>查看哪些分支包含该提交是有意义的。

答案 2 :(得分:1)

试试这个:

git log -Srental --all --pretty=oneline