[英]pull instead of fetch - accidentally merged remote master into local branch
[英]How to take a pull of a remote branch that has not been merged into master into a local branch?
有一个远程分支,我想从那个分支拉到我的一个本地分支。 我怎么做?
这有什么问题?
git checkout myLocalBranch
git pull remoteBranch myLocalBranch
git pull
用于将您当前的分支更新为远程服务器上的最新版本。 您不能只是将一个分支拉入另一个分支。 这就是所谓的合并!
因此,您必须这样做:
git fetch origin
git merge origin/remoteBranch
并解决合并冲突(如果有)。 这将导致出现您要求的状态:您的本地分支将在顶部具有远程分支。
正如@eckes在评论中指出的(谢谢!),您应该首先运行git fetch origin
,以向git讲述remoteBranch
。
首先让我们看看您的命令可以改进的地方。
git checkout myLocalBranch
用于切换到名为myLocalBranch的现有分支。 如果myLocalBranch不存在,则将导致错误。
git pull remoteBranch myLocalBranch
不能用于任意从任何分支拉到任何分支。 以下是pull命令的语法,其中some-remote通常是“ origin”或任何其他已配置的远程存储库。
git pull <some-remote> myLocalBranch
会将分支拉到myLocalBranch正在跟踪的远程站点上。
出现问题是要从远程拉特定分支。 因此,您需要创建一个本地分支,指定远程存储库和必须跟踪的远程分支。
git checkout -b myLocalBranch origin/remoteBranch
将创建一个名为myLocalBranch的新本地分支,该分支将跟踪“原始”存储库的remoteBranch。 现在,您已切换到myLocalBranch,并且分支已配置。 进行git pull
,从远程拉动您的工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.