web-dev-qa-db-fra.com

Commande Git à afficher HEAD commit id?

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

Voici 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 capable de diriger de façon fiable la sortie d’une commande vers un fichier texte, de sorte que celui-ci contienne exactement l’identifiant de validation de HEAD (rien de plus ou moins, et pas seulement une référence). Quelqu'un peut-il aider?

184
Andrew Arnott

Utilisez la commande:

git rev-parse HEAD

Pour la version courte:

git rev-parse --short HEAD
325
Randal Schwartz
git log -1

pour seulement commit id

git log | head -n 1 
21
cyb0k

Vieux fil, toujours pour référence future ... :) même les œuvres suivantes

git show-ref --head

par défaut HEAD est filtré . Faites attention à suivre cependant; "têtes" au pluriel avec un 's' à la fin. La commande suivante affiche les branches sous "refs/heads"

 git show-ref --heads
12
Abhijit Mazumder

Joue avec Bash:

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

Vous pouvez spécifier les options git log pour afficher uniquement le dernier commit, -1, et un format incluant uniquement l'ID de commit, comme ceci:

git log -1 --format=%H

Si vous préférez l'ID de validation abrégé:

git log -1 --format=%h

3
JotaBe

Selon https://git-scm.com/docs/git-log , , Pour obtenir une sortie plus jolie dans la console, vous pouvez utiliser l'argument --decorate de git-log. commander:

git log --pretty=oneline --decorate

imprimera:

2a5ccd714972552064746e0fb9a7aed747e483c7 (HEAD -> master) New commit
fe00287269b07e2e44f25095748b86c5fc50a3ef (tag: v1.1-01) Commit 3
08ed8cceb27f4f5e5a168831d20a9d2fa5c91d8b (tag: v1.1, tag: v1.0-0.1) commit 1
116340f24354497af488fd63f4f5ad6286e176fc (tag: v1.0) second
52c1cdcb1988d638ec9e05a291e137912b56b3af test
2
Ilya Slyisarenko

git rev-parse --abbrev-ref HEAD

0
Avdhut Mankavale