2016-06-16 7 views
1

Ich habe eine lokale Niederlassung, die ich mit einer Remote-Niederlassung verknüpfen möchte. Also, wenn ich git pull tun es Autonutzung verbundene Remote-Zweiggit branch --track vs -u unterschied

Ich versuchte git branch --track origin/branchname zu verwenden, aber es hat eine seltsame Sache und erstellt Art eines Tags mit dem Namen Herkunft/branch Und git pull hat noch nicht automatisch Zweig verknüpft wählen

auf anderen git branch -u origin/branchname tat Arbeit und git pull autoselects richtigen Zweig

was ist der Unterschied mit --track und -u?

Antwort

1

Der Befehl git branch tut (meiner Meinung nach sowieso) zu viele verschiedene Dinge.

Insbesondere können Sie es fragen erstellen eine Verzweigung-ein neuer Zweigname, das ist; siehe What exactly do we mean by "branch"? - mit verschiedenen Einstellungen für diesen neuen Namen.

Sie können es auch fragen ein bestehenden Zweig ändern, das ist, was Sie tun wollte. Die Option -u oder --set-upstream-to tut dies.

Die --track Option ist eine Niederlassung für die Erstellung von:

Ich versuchte git branch --track origin/branchname zu verwenden, aber es hat eine seltsame Sache und erstellte Art eines Tags mit dem Namen origin/branchname

Genauer gesagt, ist es erstellt einen lokalen Zweig mit dem Namen origin/branchname. Normalerweise, wenn Sie origin/foo, origin/master, origin/whatever sehen, sind dies Remote-Tracking-Filialen (siehe die verknüpfte Frage). Das Erstellen eines lokalen-Zweigs mit einem solchen Namen sorgt nur für Verwirrung. (Git wird keine Probleme damit haben, es ist nur verwirrend für Menschen. :-))