Mit welchem Befehl kann ich die Commit-ID von HEAD ausdrucken?
Das mache ich von Hand:
$ cat .git/HEAD
ref: refs/heads/v3.3
$ cat .git/refs/heads/v3.3
6050732e725c68b83c35c873ff8808dff1c406e1
Ich benötige jedoch ein Skript, das die Ausgabe eines Befehls zuverlässig an eine Textdatei weiterleiten kann, sodass die Textdatei genau die Festschreibungs-ID von HEAD enthält (nicht mehr oder weniger und nicht nur eine Referenz). Kann jemand helfen?
git
version-control
Andrew Arnott
quelle
quelle
Antworten:
Verwenden Sie den Befehl:
Für die Kurzversion:
quelle
git rev-parse --short HEAD
wird es funktionieren.für nur Commit-ID
quelle
Alter Thread, noch zum späteren Nachschlagen ... :) auch folgende Arbeiten
Standardmäßig wird HEAD herausgefiltert. Seien Sie jedoch vorsichtig, wenn Sie folgen. Plural "Köpfe" mit einem 's' am Ende. Der folgende Befehl zeigt Zweige unter "refs / Heads".
quelle
git show-ref --heads
und 6290 Zeilen vongit show-ref --head
. Wenn Sie also nur einen einzigen Hash möchten, führt dies möglicherweise nicht zum beabsichtigten Ergebnis.Sie können
git log
Optionen angeben , um nur das letzte Commit anzuzeigen,-1
und ein Format, das nur die Commit-ID enthält, wie folgt:git log -1 --format=%H
Wenn Sie die verkürzte Commit-ID bevorzugen:
git log -1 --format=%h
quelle
Spiel mit Bash:
quelle
Laut https://git-scm.com/docs/git-log können Sie für eine schönere Ausgabe in der Konsole das Argument --decorate des Befehls git-log verwenden :
wird drucken:
quelle
git rev-parse --abbrev-ref HEAD
quelle
Sie können diesen Befehl verwenden
$ git rev-list HEAD
Sie können auch den
head
Unix-Befehl verwenden, um die neuestenn
HEAD
Commits wie anzuzeigen$ git rev-list HEAD | head - 2
quelle
Sie können verwenden
um
git reflog
Informationen zu sehen , die wie diegit log
Ausgabe formatiert sindquelle