Gibt es eine sauberere Möglichkeit, den Kurzversions-Hash HEAD
von Git zu erhalten?
Ich möchte die gleiche Ausgabe sehen, die ich bekomme von:
git log -n 1 | head -n 1 | sed -e 's/^commit //' | head -c 8
Ich habe ursprünglich den obigen Befehl verwendet, um eine Versionszeichenfolge zu generieren, aber das ist noch besser:
git describe --tags
Es werden Zeichenfolgen wie 0.1.12
(getaggtes Commit) oder 0.1.11-5-g0c85fbc
(fünf Commits nach dem Tag) ausgegeben .
git describe --tags
erhalte ich die Meldung "Schwerwiegend: Keine Namen gefunden, kann nichts beschreiben." .--tags
es funktioniert. Versuchen Sie zuerst , ein Tag zu erstellen . zBgit tag 1.0.0
.Antworten:
Versuche dies:
Der Befehl
git rev-parse
kann eine bemerkenswerte Anzahl verschiedener Dinge tun, daher müssen Sie die Dokumentation sehr sorgfältig durchgehen, um dies zu erkennen.quelle
git rev-parse HEAD
git log
, zBgit rev-parse --short 97dd2ae065771908ee9ae0fa08ccdb58b5a6b18f
Erträge97dd2ae
git rev-parse --short=8 HEAD
, um die 8-Zeichen-Länge zu erhalten, die von GitLab verwendet wird. Sie können auchcore.abbrev
8 für ein bestimmtes Git-Repo mit einem Befehl wiegit config core.abbrev 8
SourceSie können nahezu jedes gewünschte Format verwenden
--pretty=format:
quelle
werde es auch tun.
listet die Protokolleinträge mit der abgekürzten SHA-1-Prüfsumme auf.
quelle
git log --pretty=oneline
, was im Gegensatz dazu--oneline
ansonsten Hashes in voller Größe druckt.Eine einfache Möglichkeit, die Kurzversion des Git-Commits und die Git-Commit-Nachricht anzuzeigen, ist:
Beachten Sie, dass dies eine Abkürzung für ist
quelle
Ein wirklich einfacher Weg ist:
quelle
git describe --long
könnte helfen. Aus den Dokumenten : " Geben Sie immer das Langformat (das Tag, die Anzahl der Commits und den abgekürzten Commit-Namen) aus, auch wenn es mit einem Tag übereinstimmt ." [meine Betonung]--long
ist besser, aber manchmal erhalten Sie einen kurzen Hash und manchmal 3 durch Bindestriche getrennte Elemente. In diesen Tagen verwende ich die akzeptierte Antwort. Früher wusste ich nichts über kommentierte Tags - vielleicht existierten sie gar nicht!Zweig mit kurzem Hash und letztem Kommentar:
quelle
Ich habe Git Version 2.7.4 mit den folgenden Einstellungen:
Jetzt, wenn ich es tue:
Ich erhalte eine abgekürzte Commit-ID mit acht Ziffern:
quelle
was ist damit:
es zeigt etwas wie:
674cd0d Mi, 20. November 2019 12:15:38 +0000 Bob-Commit-Nachricht
In der Dokumentation zum hübschen Format finden Sie hier eine Linkbeschreibung
quelle