2010-10-08 5 views
6

je sais comment énumérer les branches à distanceHead commets pour toutes les branches à distance en utilisant Git

$ git branch -a 

Et je sais comment trouver la tête commit hachage de ma branche actuelle

$ git rev-parse HEAD 

Mais je Je ne sais pas comment lister tous les hachages de validation de la tête pour toutes les branches distantes. C'est proche de ce que je veux mais dans quel ordre sont-ils?

$ git rev-parse --remotes 
4b9f7128e9e7fa7d72652ba49c90c37d0727123d 
4ebab9616fac6896b7827e8502b4dc7c5aac6b5b 
ea7a5fab4a757fb0826253acf1fe7d8c546c178e 
... 

Idéalement, je voudrais une liste de branche nom commit-hachage paires ou même un moyen de passer un nom de branche à distance pour git rev-parse HEAD

Répondre

9

Utilisez soit

git branch -r -v --no-abbrev 

et ignorer partie avec message de validation ou

git show-ref 

et de filtrer les résultats en commençant par refs/distants.

+0

Relativement apparenté; 'git show-ref' vous donne aussi des hashes pour les tags. Sachez que ce sont les * hashs des tags * eux-mêmes et * pas les commits qu'ils pointent vers *. –

1

Vous pouvez utiliser git rev-parse pour cela. Il peut prendre tout ce qui ressemble même à un commit et renvoie le hachage SHA1 complet pour ce commit.

Par exemple, pour obtenir le SHA1 de HEAD:

git rev-parse HEAD 

Pour obtenir le SHA1 de master:

git rev-parse master 

Pour obtenir le SHA1 de origin/trunk:

git rev-parse origin/trunk 

Pour obtenir le SHA1s de toutes les têtes à distance (ce n'est que l'une des nombreuses façons de faire, et certainement pas le meilleur):

git branch -r | cut -d' ' -f 3 | while read remote; do 
    echo ${remote} `git rev-parse ${remote}` 
done 
5

Je sais que c'est vieux et a répondu, mais je pense que git ls-remote fonctionnerait pour cela aussi.

git ls-remote --heads origin 

fcce961b46784fae13be8a30c2622ddd34d970ec  refs/heads/develop 
9da7bb692a72235451706f24790a3f7a100a64e2  refs/heads/feature-netty-testing 
86020c50d86691caecff4a55d3b1f2f588f6291d  refs/heads/javafx-testing 
871d715e5c072b1fbfacecc986f678214fa0b585  refs/heads/master 
7ed641c96d910542edeced5fc470d63b8b4734f0  refs/heads/orphan-branch 
Questions connexes