Ich habe einen lokalen Zweig mit dem Namen 'mein_lokaler_Zweig', der einen entfernten Zweig
origin/my_remote_branch` verfolgt.
Nun wurde der entfernte Zweig aktualisiert, und ich befinde mich auf dem 'mein_lokaler_Zweig`' und möchte diese Änderungen einfließen lassen. Sollte ich einfach tun:
git pull origin my_remote_branch:my_local_branch
Ist das der richtige Weg?
Sie verwenden nicht die :
-Syntax - pull
ändert immer den aktuell ausgecheckten Zweig. Daher:
git pull origin my_remote_branch
während Sie my_local_branch
ausgecheckt haben, wird das tun, was Sie wollen.
Da Sie den Verfolgungszweig bereits festgelegt haben, müssen Sie ihn nicht einmal angeben - Sie könnten einfach...
git pull
machen, während Sie my_local_branch
ausgecheckt haben, und es wird vom verfolgten Zweig aktualisiert.
Sie haben den Upstream dieses Zweigs festgelegt
(siehe:
--set-upstream-to
setzen?"
)"pre> git branch -f --track my_local_branch origin/my_remote_branch
$ git branch --set-upstream-to my_local_branch origin/my_remote_branch git --set-upstream-to;
(git branch -f --track
funktioniert nicht, wenn der Zweig ausgecheckt ist: verwenden Sie stattdessen den zweiten Befehl git branch --set-upstream
, sonst erhalten Sie "fatal: Cannot force update the current branch.
")
Das bedeutet, dass Ihr Zweig bereits mit konfiguriert ist:
branch.my_local_branch.remote origin
branch.my_local_branch.merge my_remote_branch
Git hat bereits alle notwendigen Informationen.
In diesem Fall:
# if you weren't already on my_local_branch branch:
git checkout my_local_branch
# then:
git pull
ausreichen.
Wenn Sie die Beziehung zum Upstream-Branch nicht hergestellt hätten, als es darum ging, Ihren 'my_local_branch' zu pushen, dann hätte ein einfaches
git push -u origin my_local_branch:my_remote_branchausgereicht, um zu pushen *und* den Upstream-Branch zu setzen. Danach, für die nachfolgenden Pulls/Pushs, hätte wiederum
git pulloder
git push` gereicht.