Wie finde ich in Git heraus, was meine aktuelle Version ist?

167

Ich möchte nur wissen, wie meine aktuelle Versionsnummer lautet.

TIMEX
quelle
Ich habe diese Frage gefunden, als ich nach einer Möglichkeit gesucht habe, die aktuelle Revision abzurufen, um sie in weiteren Git-Befehlen zu verwenden. Aber als ich die Antworten las, fand ich es heraus: "Oh, warte, ich brauche es nicht, ich kann es nur HEADtatsächlich verwenden."
Antoine Pinsard

Antworten:

227

Was meinst du mit "Versionsnummer"? Es ist durchaus üblich, ein Commit mit einer Versionsnummer zu versehen und dann zu verwenden

$ git describe --tags

um den aktuellen HEAD für alle Tags zu identifizieren. Wenn Sie meinen, Sie möchten den Hash des aktuellen HEAD wissen, möchten Sie wahrscheinlich:

$ git rev-parse HEAD

oder für den kurzen Revisions-Hash:

$ git rev-parse --short HEAD

Es reicht oft aus, um Folgendes zu tun:

$ cat .git/refs/heads/${branch-master}

Dies ist jedoch nicht zuverlässig, da der Schiedsrichter möglicherweise verpackt ist.

William Pursell
quelle
8
Refs können verpackt sein .git/packed-refs, daher sollten Sie wahrscheinlich den direkten Zugriff vermeiden .git/refs/. Verwenden Sie einfach git rev-parse master(oder git rev-parse refs/heads/masterwenn Sie völlig eindeutig sein müssen).
Chris Johnsen
108

Es gibt viele Möglichkeiten, git log -1die einfachste und häufigste, denke ich

Manojlds
quelle
1
Wie mache ich aus einer Datei eine frühere Version?
TIMEX
1
Vielleicht möchten Sie Git Checkout HEAD ^ - Dateiname
Manojlds
2
Übrigens gibt dies VIEL MEHR als nur die aktuelle Revision und Sie müssen sie konsequent analysieren (also nicht die beste / einfachste / übliche Lösung, imho)
RAM237
36

Dies gibt Ihnen nur die Überarbeitung.

git rev-parse HEAD
htanata
quelle
Ich denke, dass dies die beste Antwort ist, da sie nicht implementierungsabhängig ist. Williams Antwort "cat .git / refs / Heads / Master" liefert den gleichen Wert, es gibt jedoch keine Garantie dafür, dass es in Zukunft funktioniert, wenn sich die Implementierung ändert.
Thagomizer
Einverstanden, das ist die beste Antwort. Eine kurze Erwähnung der --shortOption würde es perfekt machen.
Bobby Jack
15

Dies gibt Ihnen die ersten Ziffern des Hashs und sie sind eindeutig genug, um beispielsweise eine Versionsnummer zu verwenden.

git rev-parse --kurzer KOPF

Ken McConnell
quelle
0

unten funktioniert mit jeder zuvor gedrängten Revision, nicht nur HEAD

für abgekürzten Revisions-Hash:

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

für lange Revision Hash:

git log -1 --pretty=format:%H
Alexey Bychko
quelle