在本地/开发分支时,将Git拉取origin/master分支到本地/master分支

28
我在develop分支上工作。有时,当我想将更改推送到origin时,Git会说,origin/master分支中有一些更改。
如何在不检出本地主分支的情况下从远程主分支拉取更改到本地主分支?

在可能的重复问题中有更多答案:https://dev59.com/4WMk5IYBdhLWcg3wxAhM - Olga
@Olga,那个问题类似,但是它侧重于git fetch,通常不会将任何代码合并到您当前的分支中。 - Devin Rhode
2个回答

44

如果你想在不进行checkout的情况下更新本地主干,可以执行以下操作:

git pull origin master:master

这将使用origin/master更新您的本地主分支。

或者,如果您最终想要将develop分支与origin/master中发生的更改合并,可以执行简单的git fetch,它不会影响您的本地分支:

git fetch

现在你的 origin/master 已经更新,所以你可以将这些更改与你的本地分支进行变基或合并。例如,当你处于你的 develop 分支时:

git rebase origin/master

而且您的 develop 分支将与更改保持最新。


9
git pull origin master:master 的意思是将远程主分支 master 的代码更新到本地主分支 master,同时也会将这些更新同步到本地的 develop 分支。 - James Lin
1
那么,这个答案要么应该包括对本地分支的影响,要么修改成其他内容。我建议原始接受者先取消标记并验证后再重新接受。 - swcraft
这个答案是错误的。git pull origin master:master会在我的本地开始一个变基操作。 - Lucien

0

被接受的答案也会将主分支合并到您的实际分支中。

git fetch
git branch -D master
git checkout --track origin/master

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接