Was bedeutet Git Push Origin HEAD?

100

Ich fand im offiziellen Leitfaden :

git push origin HEAD

Eine praktische Möglichkeit, den aktuellen Zweig auf der Fernbedienung auf denselben Namen zu verschieben.

Die Bedeutung des Befehls ist mir jedoch nicht klar. Warum hat es diesen Effekt?

Ich konnte keine Antwort finden ( diese Frage scheint das Problem zu behandeln, aber der Titel ist irreführend).

scristalli
quelle

Antworten:

126

HEADzeigt auf den oberen Rand des aktuellen Zweigs. gitkann den Filialnamen daraus erhalten. Es ist also dasselbe wie:

git push origin CURRENT_BRANCH_NAME

Sie müssen sich jedoch nicht den aktuellen Filialnamen merken / eingeben. Außerdem wird verhindert, dass Sie versehentlich zum falschen Remote-Zweig wechseln.

Wenn Sie einen anderen Zweig als den aktuellen verschieben möchten, funktioniert der Befehl nicht.

hek2mgl
quelle
16
Es könnte hilfreich sein zu erwähnen, dass dies HEADein symbolischer Verweis ist und mit gesehen werden kann git symbolic-ref HEAD.
John Szakmeister
Was ist der Unterschied zwischen: git push originund git push origin HEAD?
Maciek
1
@MaciejD git push origin ohne Angabe eines Filialnamens funktioniert nicht. Entweder Sie fügen einen Filialnamen hinzu oder Sie sagen HEAD, was bedeutet, dass Sie sich in der aktuellen Filiale befinden
Schwarzie2478
1
Eigentlich git push originist ein gültiger Befehl. Wenn die push.defaultGit - Konfigurationseinstellung gesetzt ist , nothingdann git push originwird „nichts schieben (Fehler out)“ nach man git-config. Andere push.defaultEinstellungen haben jedoch andere Verhaltensweisen. Suche nach push.defaultin man git-config. Auch für die „Wenn die Befehlszeile nicht angibt , wo schieben“ und „Wenn die Befehlszeile nicht angibt , was zu drücken“ in der Beschreibung Abschnitt an der Spitze man git-push(das man git-pushnicht man git-config).
David Winiecki