Antworten:
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 darstellt origin/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
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.
git fetch origin remote_branch_name
Führen Sie den Remote-Zweig mit dem lokalen Zweig zusammen
git merge origin/remote_branch_name
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
Wenn Sie Ihren Remote-Zweig bereits abgerufen haben und dies tun git branch -a
, erhalten
Sie Folgendes:
* 8.0
xxx
remotes/origin/xxx
remotes/origin/8.0
remotes/origin/HEAD -> origin/8.0
remotes/rep_mirror/8.0
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.)