Поиск Git Remote все ветки для содержимого файла

Можно ли искать во всех моих удаленных ветках Git определенное содержимое файла (не только файл, но содержимое внутри них)?

Мои пульты на GitHub, на случай, если это поможет...

Ответы

Ответ 1

Вы можете попробовать следующее:

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)

Ответ 2

Предполагая, что вы отслеживаете все удаленные ветки, он будет искать его во всех коммитах:

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

Чтобы отслеживать все удаленные ветки:

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