wake-up-neo.com

Aktualisieren Sie einen lokalen Zweig mit den Änderungen eines überwachten Remote-Zweigs

Ich habe eine lokale Niederlassung mit dem Namen 'my_local_branch ', der einen entfernten Zweig verfolgt Origin/my_remote_branch.

Jetzt wurde der Remote-Zweig aktualisiert und ich bin auf dem 'my_local_branch 'und möchten diese Änderungen übernehmen. Soll ich nur machen:

git pull Origin my_remote_branch:my_local_branch

Ist das der richtige Weg?

81
skyork

Sie haben den Upstream dieses Zweigs eingestellt

(sehen:

 Git-Zweig -f - Verfolge meine_lokale_Zweig-Herkunft/meine_remote_Zweig 
 # OR (wenn meine_lokale_Zweig derzeit ausgecheckt ist): 
 $ Git-Zweig - -set-upstream-to-my_local_branch Origin/my_remote_branch 

(git branch -f --track funktioniert nicht, wenn der Zweig ausgecheckt ist: benutze den zweiten Befehl git branch --set-upstream stattdessen oder Sie würden "fatal: Cannot force update the current branch. ")

Das heißt, Ihre Filiale ist bereits konfiguriert mit:

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

ist genug.


Wenn Sie diese vorgelagerte Zweigbeziehung nicht hergestellt hätten, als es darum ging, Push your 'my_local_branch ', dann ein einfaches git Push -u Origin my_local_branch:my_remote_branch hätte gereicht, um den Upstream-Zweig mit Push und zu setzen.
Danach, für die nachfolgenden Züge/Drücke, git pull oder git Push wäre wieder genug gewesen.

58
VonC

Sie verwenden nicht die Syntax : - pull ändert immer den aktuell ausgecheckten Zweig. Somit:

git pull Origin my_remote_branch

wenn Sie my_local_branch ausgecheckt haben, werden Sie tun, was Sie wollen.

Da Sie den Verfolgungszweig bereits festgelegt haben, müssen Sie nicht einmal angeben - Sie können einfach ...

git pull

wenn Sie my_local_branch ausgecheckt haben, wird es vom verfolgten Zweig aktualisiert.

68
Amber