Start·Terminal-Befehle

git rev-parse

git

Aufruf

git rev-parse [--short] <rev>

Löst einen Namen wie HEAD oder v1.2.0^ in einen echten Hash auf und verrät, wo das Repository liegt; Skripte holen den Branch-Namen mit --abbrev-ref HEAD, außerhalb eines Repositories endet es mit einem Fehler.

Häufige Optionen

OptionBedeutung
--short[=<n>]abbreviate the hash
--abbrev-ref HEADprint the current branch name
--show-toplevelprint the root of the working tree
--git-dirprint the path of the .git directory
--is-inside-work-treetrue or false, for scripts
--verify <rev>fail loudly if the name does not resolve

Beispiele

git rev-parse --short HEAD

the short hash a build should stamp itself with

git rev-parse --abbrev-ref HEAD

the branch name, for a CI script

git rev-parse --show-toplevel

the repository root, wherever you are inside it

Verwirrend ist, dass Rückgängig mehrere Formen hat — den Zeiger eines Branch zu verschieben ist nicht dasselbe wie einen Gegen-Commit zu setzen.

So liest man das

  • Eckige Klammern [ ] markieren einen Teil, den man weglassen kann.
  • Drei Punkte … heißen: mehrere sind erlaubt.
  • Optionen achten auf Groß- und Kleinschreibung — bei manchen Befehlen sind -r und -R verschieden.

Häufige Fragen

Q. Was macht git rev-parse?

Löst einen Namen wie HEAD oder v1.2.0^ in einen echten Hash auf und verrät, wo das Repository liegt; Skripte holen den Branch-Namen mit --abbrev-ref HEAD, außerhalb eines Repositories endet es mit einem Fehler.

Q. Wie gibt man ihn ein?

git rev-parse [--short] <rev> — eckige Klammern markieren, was wegfallen darf.

Q. Wie viele Optionen lohnen sich?

Hier stehen 6; die vollständige Liste steht in man git. Der Befehl gehört zu git.

Verwandte Befehle

man-Seite: man git-rev-parse