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

sky*_*ork 85 git branch remote-branch git-branch

我有一个名为' my_local_branch' 的本地分支,它跟踪一个远程分支origin/my_remote_branch.

现在,远程分支已经更新,我正在' my_local_branch'并且想要引入这些变化.我应该这样做:

git pull origin my_remote_branch:my_local_branch
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?

Amb*_*ber 72

您不使用:语法 - pull始终修改当前签出的分支.从而:

git pull origin my_remote_branch
Run Code Online (Sandbox Code Playgroud)

虽然你已经my_local_branch签出了会做你想要的.

由于您已经设置了跟踪分支,因此您甚至不需要指定 - 您可以只做...

git pull
Run Code Online (Sandbox Code Playgroud)

当你my_local_branch签出时,它将从被跟踪的分支更新.

  • 这个简单的解决方案对我有用. (2认同)
  • 这应该是正确的答案。就这么简单。 (2认同)

Von*_*onC 62

您已设置该分支的上游

(看到:

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.")

这意味着您的分支已配置为:

branch.my_local_branch.remote origin
branch.my_local_branch.merge my_remote_branch
Run Code Online (Sandbox Code Playgroud)

Git已经掌握了所有必要的信息.
在这种情况下:

# if you weren't already on my_local_branch branch:
git checkout my_local_branch 
# then:
git pull
Run Code Online (Sandbox Code Playgroud)

足够.


如果在推送' my_local_branch' 时没有建立上游分支关系,那么简单git push -u origin my_local_branch:my_remote_branch就足以推送设置上游分支.
在那之后,对于随后的拉/推,git pull或者git push再次,已经足够了.

  • @Amber因此我的回答:`git pull`就足够了. (6认同)

小智 8

因为有人不小心弄乱了本地提交。

删除本地脏分支

git branch -D master

然后从远程重建一个分支

git checkout -b master origin/master


归档时间:

查看次数:

216294 次

最近记录:

8 年,11 月 前