繁体   English   中英

如何将尚未合并到master中的远程分支拉到本地分支中?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM