我有一个名为' my_local_branch
'的本地分支,它跟踪远程分支origin/my_remote_branch
。
现在,远程分支已更新,我正在使用my_local_branch
'并希望引入这些变化。我应该这样做:
git pull origin my_remote_branch:my_local_branch
这是正确的方法吗?
答案 0 :(得分:62)
您不使用:
语法 - pull
始终修改当前已签出的分支。因此:
git pull origin my_remote_branch
当你my_local_branch
签出时,你会做你想做的事。
由于您已经设置了跟踪分支,因此您甚至无需指定 - 您可以只执行...
git pull
当您my_local_branch
签出时,它将从已跟踪的分支更新。
答案 1 :(得分:58)
您已设置该分支的上游
(参见:
--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
将无效:请改用第二个命令git branch --set-upstream
,否则您将获得“fatal: Cannot force update the current branch.
”)
这意味着您的分支是already configured,其中包含:
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
”时尚未建立上游分支关系,那么简单的git push -u origin my_local_branch:my_remote_branch
就足以推送和设置上游分支。
在此之后,对于随后的提款/推送,git pull
或git push
将再次成功。