Commande Git pour afficher l'identifiant de validation HEAD?


251

Quelle commande puis-je utiliser pour imprimer l'ID de validation 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 qui peut diriger de manière fiable la sortie d'une commande vers un fichier texte de telle sorte que le fichier texte contienne exactement l'identifiant de validation de HEAD (ni plus ni moins, et pas seulement une référence). Quelqu'un peut-il aider?


J'ai une question similaire avant. Et il a été bien répondu ici: stackoverflow.com/questions/44994626/…
smwikipedia

Réponses:


451

Utilisez la commande:

git rev-parse HEAD

Pour la version courte:

git rev-parse --short HEAD

34
Pour tous ceux qui recherchent la version courte du hachage, git rev-parse --short HEADcela fonctionnera.
mgarciaisaia

45
git log -1

pour l'ID de validation uniquement

git log | head -n 1 

Merci, c'est facile
eC Droid

15

Vieux fil, toujours pour référence future ... :) même après les travaux

git show-ref --head

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

 git show-ref --heads

4
en utilisant ces commandes dans un (grand) dépôt git, j'obtiens deux lignes de git show-ref --headset 6290 lignes de git show-ref --head. donc si vous ne voulez qu'un seul hachage, cela ne donne peut-être pas le résultat souhaité.
Remigius Stalder

7

Vous pouvez spécifier des git logoptions pour afficher uniquement le dernier commit, -1et un format qui inclut uniquement l'ID de commit, comme ceci:

git log -1 --format=%H

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

git log -1 --format=%h



1

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

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

0

git rev-parse --abbrev-ref HEAD


1
Cela n'affiche pas l'ID de validation, mais plutôt tous les noms (comme les branches ou les balises) associés à la validation. Ce n'est pas ce que l'utilisateur d'origine voulait.
Asfand Qazi

0

Vous pouvez utiliser cette commande

$ git rev-list HEAD

Vous pouvez également utiliser la headcommande Unix pour afficher les dernières n HEADvalidations comme

$ git rev-list HEAD | head - 2


0

Vous pouvez utiliser

git log -g branchname

pour voir les git refloginformations formatées comme la git logsortie

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.