Sie können diese Fernverfolgungszweige ~ (aufgelistet mit git branch -r
) mit dem Namen ihrer Fernbedienung referenzieren .
Sie müssen den Remote-Zweig abrufen:
git fetch origin aRemoteBranch
Wenn Sie einen dieser Remote-Zweige in Ihrem lokalen Zweig zusammenführen möchten:
git checkout master
git merge origin/aRemoteBranch
Hinweis 1: Für ein großes Repo mit einer langen Historie möchten Sie die --depth=1
Option bei Verwendung hinzufügen git fetch
.
Hinweis 2: Diese Befehle funktionieren auch mit anderen Remote-Repos, sodass Sie ein origin
und ein einrichten können, upstream
wenn Sie an einer Gabel arbeiten.
Gegenteiliges Szenario: Wenn Sie einen Ihrer lokalen Zweige in einem Remote-Zweig zusammenführen möchten (im Gegensatz zu einem Remote-Zweig zu einem lokalen Zweig, wie oben gezeigt), müssen Sie zuerst einen neuen lokalen Zweig über diesem Remote-Zweig erstellen :
git checkout -b myBranch origin/aBranch
git merge anotherLocalBranch
Die Idee hier ist, "einen Ihrer lokalen Zweige" (hier anotherLocalBranch
) mit einem entfernten Zweig ( origin/aBranch
) zusammenzuführen.
Dazu erstellen Sie zuerst " myBranch
" als Repräsentation dieses Remote-Zweigs: das ist der git checkout -b myBranch origin/aBranch
Teil.
Und dann können Sie verschmelzen , anotherLocalBranch
um es (zu myBranch
).
aLocalBranch
" zu "myBranch
" zusammen, wobei "myBranch
" einen Remote-Zweig darstelltorigin/aBranch
.aLocalBranch
kein Tippfehler ist, aber Sie haben die letzte Änderung (2 Jahre später!) Genehmigt, mit der dieser "wahrscheinliche Tippfehler" korrigiert wird. Ich wollte mich bei Ihnen erkundigen, bevor ich die Bearbeitung rückgängig mache.Immer wenn ich eine Zusammenführung durchführe, gehe ich in den Zweig, in den ich zusammenführen möchte (z. B. "
git checkout branch-i-am-working-in
") und mache dann Folgendes:git merge origin/branch-i-want-to-merge-from
quelle
git fetch origin/branch-i-want-to-merge-from
zuerst eine machen, oder?git fetch origin develop
gefolgt vongit merge origin/develop
git merge
allein wird es nicht tun.git add .
->git commit -m <message>
->git push -u origin <branch>
?Holen Sie sich zuerst den Remote-Zweig vom Ursprung.
Führen Sie den Remote-Zweig mit dem lokalen Zweig zusammen
quelle
Vielleicht möchten Sie den Remote-Zweig mit einem lokalen Zweig verfolgen :
git branch new-local-branch
git branch --set-upstream-to=origin/remote-branch new-local-branch
git checkout new-local-branch
git pull
quelle
Wenn Sie Ihren Remote-Zweig bereits abgerufen haben und dies tun
git branch -a
, erhaltenSie Folgendes:
Danach können Sie verwenden
rep_mirror/8.0
Ihren Remote-Zweig lokal festlegen.Der Trick ist, dass das
remotes/rep_mirror/8.0
aber nicht funktioniertrep_mirror/8.0
funktioniert.Also ein Befehl wie
git merge -m "my msg" rep_mirror/8.0
die Zusammenführung.(Hinweis: Dies ist ein Kommentar zur Antwort von @VonC. Ich habe ihn als weitere Antwort angegeben, da Codeblöcke nicht in das Kommentarformat passen.)
quelle