Was macht git --set-upstream
?
Ich habe versucht, es zu verstehen, indem ich das Git-Handbuch gelesen habe , aber ich habe es nicht ganz verstanden.
Was macht git --set-upstream
?
Ich habe versucht, es zu verstehen, indem ich das Git-Handbuch gelesen habe , aber ich habe es nicht ganz verstanden.
Antworten:
git branch --set-upstream <remote-branch>
Legt den Standard-Remote-Zweig für den aktuellen lokalen Zweig fest.
Jeder zukünftige git pull
Befehl (mit ausgechecktem aktuellen lokalen Zweig)
versucht, Commits von der <remote-branch>
in den aktuellen lokalen Zweig einzubringen.
Eine Möglichkeit, eine explizite Eingabe zu vermeiden, --set-upstream
besteht darin, das Kurzflag -u
wie folgt zu verwenden:
git push -u origin local-branch
Dadurch wird die Upstream-Zuordnung für zukünftige Push / Pull-Versuche automatisch festgelegt.
Weitere Informationen finden Sie in dieser detaillierten Erklärung zu vorgelagerten Zweigen und zur Nachverfolgung .
Um Verwirrung zu vermeiden, lehnen neuere Versionen von
git
diese etwas mehrdeutige--set-upstream
Option zugunsten einer ausführlicheren--set-upstream-to
Option mit identischer Syntax und identischem Verhalten abgit branch --set-upstream-to <origin/remote-branch>
git push -u origin local-branch
Was origin
repräsentiert der in diesem Befehl ? Gibt es einen Fall, in dem ich etwas anderes als origin
nach dem -u
eingeben würde ?
origin
bezieht sich auf das Remote-Git-Repository, aus dem geklont wurde. Es kann mehrere Remote-Git-Repositorys geben . In einem solchen Fall origin
kann durch den richtigen Namen der gewünschten Fernbedienung ersetzt werden, auf die man sich beziehen möchte.
git remote -v
Ihrer Fernbedienungen, die Standard zu finden , ist origin
in der Regel
Wenn Sie auf eine Fernbedienung drücken und das --set-upstream
Flag git verwenden, wird der Zweig, auf den Sie drücken, als Fernverfolgungszweig des Zweigs festgelegt, den Sie verschieben.
Hinzufügen eines Remote - Tracking - Zweig bedeutet , dass git dann weiß , was Sie tun möchten , wenn Sie git fetch
, git pull
oder git push
in Zukunft. Es wird davon ausgegangen, dass Sie den lokalen Zweig und den Remote-Zweig, den es verfolgt, synchron halten möchten, und es werden die entsprechenden Maßnahmen ergriffen, um dies zu erreichen.
Sie könnten das gleiche mit git branch --set-upstream-to
oder erreichen git checkout --track
. Weitere Informationen finden Sie auf den Git-Hilfeseiten zum Verfolgen von Zweigen .
git branch --set-upstream <<origin/branch>>
wird offiziell nicht mehr unterstützt und ersetzt durch git branch --set-upstream-to <<origin/branch>>
--set-upstream-to
die aufgrund der Verwirrungen (IIRC) bei der Einrichtung eingeführt wurde.