Ist es möglich, alle meine GIT-Remote-Zweige nach bestimmten Dateiinhalten zu durchsuchen (nicht nur eine Datei, sondern Inhalte in ihnen)?Suche GIT Remote alle Zweige für Dateiinhalte?
Meine Fernbedienungen sind auf Github, in dem Fall, dass ...
Ist es möglich, alle meine GIT-Remote-Zweige nach bestimmten Dateiinhalten zu durchsuchen (nicht nur eine Datei, sondern Inhalte in ihnen)?Suche GIT Remote alle Zweige für Dateiinhalte?
Meine Fernbedienungen sind auf Github, in dem Fall, dass ...
Sie hilft dies versuchen:
git grep 'search-string' $(git ls-remote . 'refs/remotes/*' | cut -f 2)
, dass alle Remote-Niederlassungen für search-string
suchen. Da die symbolische Referenz HEAD
gespiegelt ist, können Sie am Ende denselben Commit zweimal suchen. Hoffentlich ist das kein Problem. Wenn ja, können Sie es herausfiltern, mit:
git grep 'search-string' \
$(git ls-remote . 'refs/remotes/*' | grep -v HEAD | cut -f 2)
Wenn Sie durch Ihre gesamte Geschichte müssen graben, können Sie auch versuchen:
git grep 'search-string' $(git rev-list --all)
Angenommen, Sie alle entfernten Niederlassungen sind Tracking Dies wird suche es in allen commits.
git log --all -p | grep 'search-string'
Um alle entfernten Niederlassungen zu verfolgen:
for remote in `git branch -r`; do git branch --track $remote; done
Zweiten Befehl funktioniert für mich, aber die ersten nicht; Ich bekomme 'fatal: bad flag '->' nach Dateiname verwendet ' – patrickvacek
Entschuldigung. Ich habe vergessen, dass 'git branch -r' den Inhalt von symbolischen refs darin anzeigt. Ich habe meine Antwort mit etwas anderem aktualisiert, das funktioniert, aber nicht ganz so hübsch. – jszakmeister