用跟踪的远程分支中的更改更新本地分支
我有一个名为“ my_local_branch
”的本地分支,它跟踪远程分支origin/my_remote_branch
。
现在,远程分支已经更新了,我在' my_local_branch
'上,想要引入这些更改。 我应该这样做:
git pull origin my_remote_branch:my_local_branch
这是正确的方法吗?
你已经设置了该分支的上游
(看到:
- “ 如何让现有的git分支跟踪远程分支? ”和
- “ Git:为什么我需要做
--set-upstream-to
”
)
git branch -f --track my_local_branch origin / my_remote_branch #或(如果my_local_branch当前被签出): $ git branch --set-upstream-to my_local_branch origin / my_remote_branch
( git branch -f --track
在分支检出时不起作用:使用第二个命令git branch --set-upstream
代替,否则你会得到“ fatal: Cannot force update the current branch.
)
这意味着你的分支已经configuration了:
branch.my_local_branch.remote origin branch.my_local_branch.merge my_remote_branch
Git已经有了所有必要的信息。
在这种情况下:
# if you weren't already on my_local_branch branch: git checkout my_local_branch # then: git pull
足够。
如果在推送' my_local_branch
'时没有build立上游分支关系,那么一个简单的git push -u origin my_local_branch:my_remote_branch
就足以推送和设置上游分支。
之后,对于随后的拉/推, git pull
或git push
将会再次足够了。
你不使用:
语法 – pull
总是修改当前签出的分支。 从而:
git pull origin my_remote_branch
而你有my_local_branch
检出将做你想要的。
由于您已经设置了跟踪分支,因此您甚至不需要指定 – 您可以这样做…
git pull
同时检出my_local_branch
,并从跟踪的分支更新。