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