Update a local branch with the changes from a tracked remote branch
I have a local branch named ' my_local_branch
', which tracks a remote branch origin/my_remote_branch
.
Now, the remote branch has been updated, and I am on the ' my_local_branch
' and want to pull in those changes. Should I just do:
git pull origin my_remote_branch:my_local_branch
Is this the correct way?
You have set the upstream of that branch
(see:
--set-upstream-to
all the time?" )
git branch -f --track my_local_branch origin/my_remote_branch # OR (if my_local_branch is currently checked out): $ git branch --set-upstream-to my_local_branch origin/my_remote_branch
( git branch -f --track
won't work if the branch is checked out: use the second command git branch --set-upstream
instead, or you would get " fatal: Cannot force update the current branch.
")
That means your branch is already configured with:
branch.my_local_branch.remote origin
branch.my_local_branch.merge my_remote_branch
Git already has all the necessary information.
In that case:
# if you weren't already on my_local_branch branch:
git checkout my_local_branch
# then:
git pull
is enough.
If you hadn't establish that upstream branch relationship when it came to push your ' my_local_branch
', then a simple git push -u origin my_local_branch:my_remote_branch
would have been enough to push and set the upstream branch.
After that, for the subsequent pulls/pushes, git pull
or git push
would, again, have been enough.
You don't use the :
syntax - pull
always modifies the currently checked-out branch. Thus:
git pull origin my_remote_branch
while you have my_local_branch
checked out will do what you want.
Since you already have the tracking branch set, you don't even need to specify - you could just do...
git pull
while you have my_local_branch
checked out, and it will update from the tracked branch.
上一篇: 什么是`git push origin master`? 帮助与git的裁判,头和遥控器
下一篇: 用跟踪的远程分支中的更改更新本地分支