用跟踪的远程分支中的更改更新本地分支

我有一个名为“ 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 pullgit push将会再次足够了。

你不使用:语法 – pull总是修改当前签出的分支。 从而:

 git pull origin my_remote_branch 

而你有my_local_branch检出将做你想要的。

由于您已经设置了跟踪分支,因此您甚至不需要指定 – 您可以这样做…

 git pull 

同时检出my_local_branch ,并从跟踪的分支更新。