搜索GIT远程所有分支的文件内容?

时间:2013-08-16 17:14:11

标签: git github

是否可以在我的所有GIT远程分支中搜索特定的文件内容(不仅仅是文件,还包括其中的内容)?

我的遥控器在github上,如果有帮助......

2 个答案:

答案 0 :(得分:21)

你可以试试这个:

git grep 'search-string' $(git ls-remote . 'refs/remotes/*' | cut -f 2)

这将搜索search-string的所有远程分支。由于符号引用HEAD是镜像的,因此您最终可能会两次搜索相同的提交。希望这不是问题。如果是这样,您可以使用以下方法对其进行过滤:

git grep 'search-string' \
    $(git ls-remote . 'refs/remotes/*' | grep -v HEAD | cut -f 2)

如果你需要深入了解整个历史,你也可以尝试:

git grep 'search-string' $(git rev-list --all)

答案 1 :(得分:5)

假设您正在跟踪所有远程分支这将在所有提交中搜索它。

git log --all -p | grep 'search-string'

跟踪所有远程分支:

for remote in `git branch -r`; do git branch --track $remote; done