2015-09-11 1 views
2

Je jure que j'ai écrit un test appelé "heartbeatTest" ou "heartbeatRouteTest" dans l'une des branches d'un repo Git.Rechercher toutes les branches de Git:

Mais je ne le trouve dans aucune des branches. Existe-t-il un moyen de faire une recherche globale avec Git pour trouver une expression correspondante dans n'importe quelle branche pour un référentiel local/distant particulier?

Répondre

1

Découvrez git grep

git grep heartbeat $(git rev-list --all) 

Vous pourriez être un peu plus précis:

git grep heartbeat.*Test $(git rev-list --all) 

Voici un bel article avec plus d'exemples d'utilisation grep git: http://travisjeffery.com/b/2012/02/search-a-git-repo-like-a-ninja/

+1

Vous êtes sur la bonne voie, mais votre réponse est incomplète. – Jubobs

+0

@Jubobs pouvez-vous aider à le réparer? –

+0

cela semble rechercher seulement sur la branche actuellement vérifiée, pas toutes les branches? –

1

Vous voulez

git log -G"$regex" --all 

ou

git log -S"string" --all 

git log reference

qui recherche toute l'histoire actuelle pour commits lignes de changement (-G) ou modifier le nombre de lignes (-S) contenant un match. Il y a beaucoup d'options pour modifier la sélection de points de départ de git log pour parcourir l'histoire.