498 votes

Obtenir le hash court de la version Git

Existe-t-il un moyen plus propre d'obtenir la version courte du hash de HEAD de Git ?

Je veux voir le même résultat que celui que j'obtiens avec :

 git log -n 1 | head -n 1 | sed -e 's/^commit //' | head -c 8

A l'origine, j'utilisais la commande ci-dessus pour générer une chaîne de version, mais celle-ci est encore meilleure :

git describe --tags

Il produira des chaînes de caractères comme 0.1.12 (tagged commit) ou 0.1.11-5-g0c85fbc (cinq commits après le tag).

2 votes

Puisque vous semblez être doué pour manipuler des données avec des tuyaux et autres, vous devriez connaître les éléments suivants alias git . Dans ce cas, il existe une commande pour ce que vous voulez (voir les réponses) mais vous finirez par trouver quelque chose où il n'y en a pas, et les alias sont parfaits pour cela.

0 votes

@ MatrixFrog Merci pour le conseil ! J'avais déjà quelques alias git simples, mais je ne savais pas à quel point ils pouvaient être puissants jusqu'à maintenant. J'aime particulièrement l'affichage graphviz.

1 votes

Huh. Quand je cours git describe --tags J'ai compris le message, "fatal : aucun nom trouvé, ne peut décrire quoi que ce soit." .

912voto

Mark Longair Points 93104

Essayez ça :

git rev-parse --short HEAD

La commande git rev-parse peut faire un nombre remarquable de choses différentes, donc vous devez passer par la documentation très attentivement pour le repérer.

6 votes

Vous pouvez faire l'inverse et obtenir le hash long de commit à partir du hash court de commit en faisant ce qui suit git rev-parse HEAD

13 votes

La commande fonctionne également avec les longs rev ID qui sont copiés-collés à partir d'autres sources comme git log , eg git rev-parse --short 97dd2ae065771908ee9ae0fa08ccdb58b5a6b18f renvoie à 97dd2ae

4 votes

Cela fonctionne simplement avec des références. Vous pouvez utiliser des HEAD, des noms de balises, des noms de branches ou des hachages simples.

130voto

Karl Bielefeldt Points 15469

Vous pouvez faire à peu près n'importe quel format que vous voulez avec --pretty=format:

git log -1 --pretty=format:%h

96voto

Sanjeev Points 1163
git log -1 --abbrev-commit

le fera également.

git log --abbrev-commit

listera les entrées du journal avec la somme de contrôle SHA-1 abrégée.

60voto

Jay Prock Points 69

Une façon simple de voir la version courte de Git commit et le message de Git commit est :

git log --oneline

Notez que c'est un raccourci pour

git log --pretty=oneline --abbrev-commit

36voto

Steven Shaw Points 474

Un moyen très simple est de :

git describe --always

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