Burada listelenen çözümlerle ilgili birkaç sorun vardır (hatta kabul edilir).
Kopyaları alacağınız için tüm karmaları listelemenize gerek yoktur. Ayrıca, daha fazla zaman alır.
Eğer bir dize arayabileceğiniz bu üzerine inşa "test -f /"
birden dalları üzerinde master
ve dev
olarak
git grep "test -f /" master dev
ki aynı
printf "master\ndev" | xargs git grep "test -f /"
İşte gidiyor.
Bu, tüm yerel şubelerin ipucu karmasını bulur ve yalnızca bu taahhütlerde arama yapar:
git branch -v --no-abbrev | awk -F' *' '{print $3}' | xargs git grep "string/regexp"
Uzak dallarda da arama yapmanız gerekiyorsa ekleyin -a
:
git branch -a -v --no-abbrev | awk -F' *' '{print $3}' | xargs git grep "string/regexp"
Daha ileri:
# Search in local branches
git branch | cut -c3- | xargs git grep "string"
# Search in remote branches
git branch -r | cut -c3- | xargs git grep "string"
# Search in all (local and remote) branches
git branch -a | cut -c3- | cut -d' ' -f 1 | xargs git grep "string"
# Search in branches, and tags
git show-ref | grep -v "refs/stash" | cut -d' ' -f2 | xargs git grep "string"