91 votes

Comment obtenir le SHA du dernier commit d'un dépôt git distant ?

Quelqu'un sait-il comment obtenir le dernier SHA d'une branche donnée ? de l'extérieur un dépôt git ?

Si vous êtes dans un dépôt git, vous pouvez le faire :

git log origin/branch_X | head -1

Cependant, je ne suis pas à l'intérieur d'un dépôt git, et je voudrais éviter d'avoir à clone un dépôt juste pour obtenir le dernier SHA d'un tag/branche. Existe-t-il un moyen astucieux de faire cela ?

127voto

gprasant Points 2124

Utilice rev-parse

git rev-parse origin/master # to get the latest commit on the remote

git rev-parse HEAD          # to get the latest commit on the local

81voto

Jakub Narębski Points 87537

Si vous voulez vérifier le SHA-1 d'une branche donnée dans le référentiel distant, alors votre réponse est correct :

$ git ls-remote <URL>

Cependant, si vous êtes sur le même système de fichiers, une solution plus simple (ne nécessitant pas d'extraire SHA-1 de la sortie) serait simplement :

$ git --git-dir=/path/to/repo/.git rev-parse origin/branch_X

Voir git(1) pour la description de ' --git-dir option ".

57voto

AdvilUser Points 171

Un de mes collègues a répondu à cette question pour moi :

git ls-remote ssh://git.dev.pages/opt/git/repos/dev.git <branch>

23voto

dch4pm4n Points 36

Utilisation d'une URL git :

$ git ls-remote <URL> | head -1 | sed "s/HEAD//"

Utilisation d'un répertoire sur un système accessible :

$ git --git-dir=/path/to/repo/.git rev-parse origin/<targeted-banch>

17voto

kitingChris Points 519

Comme mentionné dans les commentaires ci-dessus, cela devrait être la meilleure solution :

$ git ls-remote <URL> | head -1 | cut -f 1

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X