Was ist der Zweck von Git-Tracking-Zweigen?
-
12-11-2019 - |
Frage
Ich habe also einen Tracking-Zweig erstellt whowasout.com verfolgt whowasout.com/master
$ git remote -v
origin git@github.com:venkatd/whowentout.git (fetch)
origin git@github.com:venkatd/whowentout.git (push)
whowasout.com git@git01.phpfog.com:whowasout.com (fetch)
whowasout.com git@git01.phpfog.com:whowasout.com (push)
$ git branch -vv
master c33b5dc [origin/master] Merge branch 'whowasout.com'
* whowasout.com 7b6b240 [whowasout.com/master: ahead 1] print statement in test.
php
Wenn ich einige Änderungen in der festschreibe whowasout.com verzweigen und "git push" ausführen, Master wird zum Ursprung / Master gepusht.Ist das erwartetes Verhalten?Ich hatte erwartet whowasout.com drücken auf whowasout.com/master .
Um meine Änderungen zu pushen, tippe ich derzeit "git push whowasout.com <url>: Meister"aber ich dachte, Tracking würde diesen Prozess beschleunigen.Bin ich auf dem richtigen Weg?
Lösung
Du wirst tun müssen:
git push whowasout.com whowasout.com:master
Dies liegt daran, dass whowasout.com
hat keine Filiale whowasout.com
und du willst keins.Was Sie wirklich wollen, ist zu schieben whowasout.com verzweigen Sie auf lokal auf Master auf whowasout.com fernbedienung, was wie oben gemacht werden muss.
Um das Verhalten zu bekommen, das Sie wollen, so dass nur git push
drückt von whowasout.com verzweigen Sie lokal auf Master auf Remote, Sie müssen die einstellen push.default
konfigurieren zu upstream
( früher genannt tracking
)
git config push.default upstream
Beachten Sie, dass Sie dies tun müssen, da Tracking-Zweige standardmäßig hilfreich sind, um den Upstream-Zweig zu verfolgen, wenn Sie fetch / Pull ausführen.Wenn Sie das ändern push.default
einstellung, es kommt auch im Push ins Spiel.Andernfalls drückt push nur passende Refs, dh whowasout.com zweig wird nach geschoben whowasout.com zweig auf Fernbedienung whowasout.com .