Zum Inhalt springen
GitTree
Git-Anleitungen4 Min. gelesen

So richten Sie einen Upstream-Zweig in Git ein

Ein Upstream ist der Remote-Zweig, an den Ihr lokaler Zweig Daten sendet und von dem er Daten abruft. Hier erfahren Sie, wie Sie einen festlegen, prüfen, ändern und entfernen, wie Sie den Fehler „Kein Upstream-Zweig“ beheben und was upstream auf einem Fork bedeutet.

Geschrieben von Kodmora

Das Softwarehaus hinter GitTree

Aktualisiert
  • Zweige
  • Remotes und Push
Auf dieser Seite

Um einen neuen Zweig zu pushen und seinen Upstream festzulegen, führen Sie `git push -u origin my-branch` aus. Wenn der Zweig bereits auf dem Remote vorhanden ist, führen Sie stattdessen git branch -u origin/my-branch aus. Danach wissen einfach git push und git pull, wohin sie gehen müssen. -u ist die Abkürzung für --set-upstream.

Was ist ein Upstream-Zweig in Git?

Der Upstream-Zweig, auch Tracking-Zweig genannt, ist der Remote-Zweig, der mit Ihrem lokalen Zweig verbunden ist. Git verwendet diesen Link für drei Dinge: wo git pull und git push ohne Argumente stehen, wofür das Vor- und Nachherzählen in git status im Vergleich zählt und was die Abkürzung @{u} bedeutet.

Wie stelle ich den Upstream für einen neuen Zweig ein?

git switch -c feature/search
git push -u origin feature/search

Dadurch wird der Zweig auf dem Remote erstellt und die beiden verknüpft. Sie benötigen nur -u beim ersten Push. Der Leitfaden zum Erstellen und Wechseln von Zweigen behandelt den Schritt davor.

Wie stelle ich den Upstream für einen vorhandenen Zweig ein?

Wenn der Remote-Zweig bereits vorhanden ist, verknüpfen Sie ihn, ohne ihn zu pushen:

# the branch you are on
git branch -u origin/feature/search

# any other branch
git branch -u origin/main main

Die Langform ist git branch --set-upstream-to=origin/main. Wenn Git sagt, dass der Remote-Zweig nicht existiert, führen Sie zuerst git fetch aus.

Wie behebe ich „Der aktuelle Zweig hat keinen Upstream-Zweig“?

Git gibt dies aus, wenn Sie git push auf einem Zweig ausführen, der noch nie gepusht wurde:

fatal: The current branch feature/search has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin feature/search

Führen Sie den vorgeschlagenen Befehl aus. Damit der Fehler nicht mehr angezeigt wird, lassen Sie Git dies bei jedem ersten Push tun (Git 2.37 oder höher):

git config --global push.autoSetupRemote true

Die zugehörige Meldung „Für den aktuellen Zweig sind keine Tracking-Informationen vorhanden“ stammt von git pull. Der Fix ist derselbe: git branch -u origin/my-branch.

Wie sehe ich, was ein Zweig verfolgt?

# every branch, with its upstream and ahead/behind
git branch -vv

# only the current branch
git rev-parse --abbrev-ref @{u}

# commits you have not pushed
git log @{u}..

# commits you have not pulled
git log ..@{u}

Wie ändere oder entferne ich einen Upstream?

# point the branch somewhere else
git branch -u origin/develop

# stop tracking anything
git branch --unset-upstream

Keiner der Befehle ändert irgendwelche Commits. Sie bearbeiten nur die Einstellungen des Zweigs in .git/config.

Was bedeutet Upstream bei einer Abzweigung?

Das Wort hat eine zweite Bedeutung. Bei einem Fork ist upstream per Konvention der Name eines remote: des Originalprojekts, von dem Sie geforkt haben, während origin Ihre eigene Kopie ist. Darum geht es bei „git remote add upstream“:

git remote add upstream https://github.com/original/project.git
git fetch upstream
git switch main
git merge upstream/main
git push origin main
Die zwei Bedeutungen von upstream
Upstream-ZweigUpstream-Remote
Was es istDer entfernte Zweig wird von einem lokalen Zweig verfolgtEin Remote namens upstream, normalerweise das Original einer Verzweigung
Set mitgit push -u oder git branch -ugit remote add upstream <url>
Erkundigen Sie sich beigit branch -vvgit remote -v

So richten Sie einen Upstream in GitTree ein

  1. Veröffentlichen Sie einen neuen Zweig

    Drücken Sie bei ausgechecktem Zweig Push. GitTree sagt, dass der Branch noch keinen Remote-Branch verfolgt und fragt nach dem Remote.

  2. Wählen Sie das Remote

    Wählen Sie origin und drücken Sie Zum Ursprung drücken. Der Zweig wird dort erstellt und von da an verfolgt.

  3. Ändern Sie, was verfolgt wird

    Klicken Sie mit der rechten Maustaste auf die Zweigbezeichnung und öffnen Sie Upstream, dann Set Upstream…. Wählen Sie den Upstream-Zweig und drücken Sie Track oder wählen Sie Upstream aufheben.

Das Upstream-Untermenü in einem Zweig in GitTree, mit der Markierung „Set Upstream…“.
Das Upstream-Untermenü in einem Zweig in GitTree, mit der Markierung „Set Upstream…“.GitTree-Schnittstelle mit einem Demonstrations-Repository.

Weitere Informationen finden Sie unter Verfolgung festlegen und einen Zweig veröffentlichen und zum Üben in der Lektion zu Remotes und Upstreams.

Häufig gestellte Fragen

Was macht git push -u?

Es pusht den Zweig und zeichnet den Remote-Zweig als seinen Upstream auf, sodass später git push und git pull keine Argumente benötigen.

Brauche ich -u bei jedem Tastendruck?

Nein, nur einmal pro Zweig. Die Einstellung bleibt in .git/config, bis Sie sie ändern.

Was ist der Unterschied zwischen Ursprung und Upstream?

origin ist der Standardname für das Remote, von der Sie geklont haben. upstream ist entweder der Zweig, den ein lokaler Zweig verfolgt, oder laut Konvention ein zweiter entfernter Zweig, der auf das Projekt zeigt, das Sie gegabelt haben.

Was bedeutet @{u}?

Dies ist eine Kurzform für den Upstream des aktuellen Zweigs, daher vergleicht git diff @{u} Ihren Zweig mit dem Remote-Zweig, den es verfolgt. @{upstream} ist die Langform.

Warum pusht mein Branch an den falschen Remote-Branch?

Seine Upstream-Punkte sind dort, häufig nach einer Umbenennung. Führen Sie git branch -vv aus, um das Problem anzuzeigen, und dann git branch -u origin/correct-name, um es zu beheben.

Quellen

Behauptungen zu anderen Produkten wurden anhand der offiziellen Seiten auf 7. November 2026 überprüft. Preise und Ausstattung ändern sich; Die Seiten der Anbieter sind die Quelle der Wahrheit.