4079 Stimmen

Ändern Sie einen vorhandenen Git-Zweig so, dass er einem Remote-Zweig folgt?

Ich weiß, wie man einen neuen Branch erstellt, der Remote-Branches verfolgt, aber wie mache ich einen vorhandenen Branch zu einem Remote-Branch?

Ich weiß, ich kann einfach die .git/config Datei bearbeiten, aber es scheint, dass es einen einfacheren Weg geben sollte.

32 Stimmen

Wie unten angegeben, können Sie für einen vorhandenen Branch git push -u origin branch-name verwenden.

6 Stimmen

Wenn der lokale Branch der aktuelle Branch ist und der lokale Branch noch nicht einem Remote-Branch folgt, git pull gibt oft hilfreiche Nachrichten über den geeigneten Befehl zur Festlegung von Tracking-Informationen.

94 Stimmen

Es ist ärgerlich, wenn man Git lernt und einen Link zur Git-Dokumentation angezeigt bekommt. Diese Dokumentation scheint für Leute geschrieben zu sein, die bereits wissen, was sie mit Git machen.

55voto

1- Aktualisieren Sie Ihre lokalen Metadaten mit: git fetch --all

Bildbeschreibung hier eingeben

2- Zeigen Sie Ihre Remote- und lokalen Branches mit an: git branch -a , siehe den folgenden Screenshot

Bildbeschreibung hier eingeben

3- Wechseln Sie zum Zielbranch, den Sie mit dem Remote verknüpfen möchten, mit

git checkout branchName

Beispiel:

Bildbeschreibung hier eingeben

4- Verknüpfen Sie Ihren lokalen Branch mit einem Remote-Branch mit:

git branch --set-upstream-to nameOfRemoteBranch

N.B : nameOfRemoteBranch : zum Kopieren aus der Ausgabe von Schritt 2 " git branch -r "

Beispiel für die Verwendung:

Bildbeschreibung hier eingeben

49voto

wu-lee Punkte 581

Ich glaube, dass bereits in Git 1.5.x Sie einen lokalen Branch $BRANCH auf einen Remote Branch origin/$BRANCH verfolgen lassen konnten, wie folgt.

Vorausgesetzt, dass sowohl $BRANCH als auch origin/$BRANCH existieren und Sie derzeit nicht $BRANCH ausgecheckt haben (wechseln Sie, wenn Sie das getan haben), führen Sie Folgendes aus:

git branch -f --track $BRANCH origin/$BRANCH

Dadurch wird $BRANCH als Tracking Branch neu erstellt. Das -f erzwingt die Erstellung, auch wenn $BRANCH bereits existiert. --track ist optional, wenn die Standardwerte vorhanden sind (das heißt, der git-config Parameter branch.autosetupmerge ist auf true gesetzt).

Beachten Sie, dass wenn origin/$BRANCH noch nicht existiert, können Sie es erstellen, indem Sie Ihren lokalen $BRANCH in das Remote-Repository pushen:

git push origin $BRANCH

Gefolgt von dem vorherigen Befehl, um den lokalen Branch in einen Tracking Branch umzuwandeln.

29voto

romanlv Punkte 1352

Stellen Sie sicher, dass Sie ausführen:

git config push.default tracking

um problemlos pushen zu können

27voto

mipadi Punkte 377834

Diese .git/config bearbeiten, ist wahrscheinlich der einfachste und schnellste Weg. Das ist ja sowieso das, was die Git-Befehle für die Verarbeitung von entfernten Zweigen tun.

Wenn Sie nicht manuell in die Datei eingreifen möchten (und es ist nicht allzu schwer zu tun), können Sie immer git config verwenden, um es zu tun... aber auch das wird nur die .git/config Datei bearbeiten.

Es gibt natürlich Möglichkeiten, einen entfernten Zweig automatisch zu verfolgen, wenn Sie git checkout verwenden (indem Sie z.B. den --track Flag übergeben), diese Befehle arbeiten jedoch mit neuen Zweigen, nicht mit vorhandenen.

22voto

MadNik Punkte 7493

Sehr kurz gesagt

git branch --set-upstream yourLocalBranchName origin/develop

Dies wird Ihren yourLocalBranchName dazu bringen, den Remote-Branch namens develop zu verfolgen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X