Les solutions proposées ici (même acceptées) posent quelques problèmes.
Il n'est pas nécessaire de répertorier tous les hachages car vous obtiendrez des doublons. En outre, cela prend plus de temps.
Il s'appuie sur cela pour rechercher une chaîne de caractères "test -f /"
sur plusieurs branches master
y dev
comme
git grep "test -f /" master dev
qui est identique à
printf "master\ndev" | xargs git grep "test -f /"
Alors voilà.
Cela trouve les hachages pour le bout de toutes les branches locales et ne cherche que dans ces commits :
git branch -v --no-abbrev | awk -F' *' '{print $3}' | xargs git grep "string/regexp"
Si vous avez besoin de rechercher dans les branches distantes également, ajoutez -a
:
git branch -a -v --no-abbrev | awk -F' *' '{print $3}' | xargs git grep "string/regexp"
Plus loin :
# 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"
1 votes
git-grep pourrait être ce que vous recherchez, mais je ne suis pas encore sûr des options dont vous auriez besoin...
0 votes
Duplicata possible de Comment faire une recherche dans l'historique git ?