Git: Den Upstream-Branch festlegen
Zuletzt aktualisiert
Der Upstream eines Branches ist der Remote-Branch, den er verfolgt. Sobald er festgelegt ist, wissen ein einfaches git push und git pull, wohin Commits gesendet und von wo sie geholt werden, ohne dass du jedes Mal das Remote und den Branch angeben musst. Du legst ihn normalerweise beim ersten Push mit -u fest oder später mit git branch --set-upstream-to.
Probiere diese im Terminal-Playground aus - eine echte Shell in deinem Browser, nichts zu installieren.
Syntax
| Command | What it does |
|---|---|
git push -u origin feature | Führt einen Push aus und legt den Upstream in einem Schritt fest |
git branch --set-upstream-to=origin/feature | Legt den Upstream für den aktuellen Branch fest |
git branch -u origin/feature feature | Legt den Upstream für einen benannten Branch fest |
git branch -vv | Zeigt jeden Branch und seinen Upstream |
Häufige Fälle
| Goal | Command |
|---|---|
| Upstream beim ersten Push festlegen | git push -u origin feature |
| Upstream für einen bestehenden Branch festlegen | git branch --set-upstream-to=origin/feature |
| Prüfen, welcher Upstream festgelegt ist | git branch -vv |
Git set upstream - FAQ
Was bewirkt das Festlegen des Upstream-Branches?
Es verknüpft deinen lokalen Branch mit einem bestimmten Remote-Branch. Danach wissen
git push und git pull auf diesem Branch, welches Remote und welchen Branch sie verwenden sollen, sodass du sie ohne Argumente ausführen kannst. Git zeigt in git status außerdem an, wie weit du dem Upstream voraus oder hinterher bist.Wie lege ich den Upstream-Branch fest?
Am einfachsten geht es beim ersten Push:
git push -u origin <branch> führt den Push aus und legt den Upstream zugleich fest. Für einen Branch, der bereits auf dem Remote existiert, verwende git branch --set-upstream-to=origin/<branch>, während du dich auf diesem Branch befindest.Wie sehe ich den Upstream eines Branches?
Führe
git branch -vv aus. Es listet deine lokalen Branches auf, jeder mit seinem Upstream annotiert (wie [origin/feature]) und ob er voraus oder hinterher ist. Branches ohne Upstream zeigen nichts in Klammern an.Warum fordert mich git push auf, den Upstream festzulegen?
Weil für den aktuellen Branch kein Upstream konfiguriert ist, weiß Git nicht, wohin es pushen soll. Führe einmal
git push -u origin <branch> aus, um ihn festzulegen; nachfolgende Pushes brauchen nur git push.Kann ich das online üben?
Ja. Öffne den Terminal-Playground, um diese Befehle in einer echten Shell in deinem Browser auszuführen - nichts zu installieren. Coddys kostenloser interaktiver Git-Kurs behandelt auch den Umgang mit Remotes Schritt für Schritt.