是否可以在我的所有GIT远程分支中搜索特定的文件内容(不仅仅是文件,还包括其中的内容)?
我的遥控器在github上,如果有帮助......
答案 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