376 votes

Commande Git pour afficher l'identifiant du commit HEAD ?

Quelle commande puis-je utiliser pour imprimer l'identifiant de commit de HEAD ?

C'est ce que je fais à la main :

$ cat .git/HEAD
ref: refs/heads/v3.3
$ cat .git/refs/heads/v3.3
6050732e725c68b83c35c873ff8808dff1c406e1

Mais j'ai besoin d'un script qui puisse de manière fiable canaliser la sortie d'une certaine commande vers un fichier texte de telle sorte que le fichier texte contienne exactement l'id de commit de HEAD (ni plus ni moins, et pas seulement une réf). Quelqu'un peut-il m'aider ?

0 votes

J'ai déjà eu une question similaire. Et elle a été bien répondue ici : stackoverflow.com/questions/44994626/

668voto

Randal Schwartz Points 9756

Utilisez la commande :

git rev-parse HEAD

Pour la version courte :

git rev-parse --short HEAD

51 votes

Pour tous ceux qui cherchent la version courte du hash, git rev-parse --short HEAD fonctionnera.

74voto

efesaid Points 78
git log -1

pour seulement l'identifiant d'engagement

git log | head -n 1

0 votes

Merci, c'est facile

0 votes

Juste pour info : git log | head -1 est identique à git log | head -n 1 .

0 votes

Bien que l'OP ait seulement demandé l'ID de commit de HEAD, git log -1 est très utile. En effet, il affiche également le message de validation et d'autres détails, ce qui facilite les analyses et les comparaisons ultérieures. Merci !

21voto

Abhijit Mazumder Points 514

Vieux fil, mais pour référence future... :) même ce qui suit fonctionne

git show-ref --head

par défaut HEAD est filtré. Attention cependant à ne pas suivre le pluriel "heads" avec un "s" à la fin. La commande suivante montre les branches sous "refs/heads".

 git show-ref --heads

5 votes

En utilisant ces commandes dans un (gros) repo git, j'obtiens deux lignes de git show-ref --heads et 6290 lignes de git show-ref --head . donc si vous voulez juste un seul hachage, cela ne donne peut-être pas le résultat escompté.

17voto

JotaBe Points 8950

Vous pouvez spécifier git log pour ne montrer que le dernier commit, -1 et un format qui inclut seulement l'ID de la livraison, comme ceci :

git log -1 --format=%H

Si vous préférez le code d'identification abrégé :

git log -1 --format=%h

7voto

Ali Moreno Points 61

Jouez avec Bash :

git show HEAD | sed -n 1p | cut -d " " -f 2

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