Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在不影响当前分支的情况下将Git拉到新分支?_Git - Fatal编程技术网

如何在不影响当前分支的情况下将Git拉到新分支?

如何在不影响当前分支的情况下将Git拉到新分支?,git,Git,你好,情况如下: 我有两个远程分支:master和dev dev的提交比masters(git日志)多 在本地存储库中,我只克隆了master。所以我被定位在master分支上 在这种情况下,我希望在不影响主机的情况下拉取dev分支 我所做的是: $(master) : git pull origin dev:dev 但结果是: 我现在更新了我的dev分支,但是master分支已经合并到dev分支(意外) 所以我的问题是,我应该如何从远程特定分支拉到本地特定分支(即使我不在目标分支上) 我以

你好,情况如下:

我有两个远程分支:
master
dev

dev
的提交比masters(git日志)多

在本地存储库中,我只克隆了master。所以我被定位在
master
分支上

在这种情况下,我希望在不影响
主机的情况下拉取
dev
分支

我所做的是:

 $(master) : git pull origin dev:dev
但结果是:

我现在更新了我的
dev
分支,但是
master
分支已经合并到
dev
分支(意外)

所以我的问题是,我应该如何从远程特定分支拉到本地特定分支(即使我不在目标分支上)

我以为

$git pull origin specific_remotebranch:specific_localbranch
不会影响我现在的分支机构。。。是(总是)吗

在我的本地回购协议中,我只克隆了一个master。所以我被定位在master branch

您可能只是签出主分支,但除非您做了一些非常不寻常的事情,否则您总是克隆完整的回购,包括所有分支

通常,您可以通过
git fetch
dev
的本地头指向
dev
的远程头

在我的本地回购协议中,我只克隆了一个master。所以我被定位在master branch

您可能只是签出主分支,但除非您做了一些非常不寻常的事情,否则您总是克隆完整的回购,包括所有分支


您通常只需
git fetch
即可将您的
dev
本地负责人指向
dev
的远程负责人我找到了我要找的东西:

我试图“拉”,而我真正想要的是一个获取+签出操作

请看这里:

//让我们让所有远程分支都可用

$git fetch
//让我们从刚刚获取的远程服务器创建一个新分支

$git checkout dev

似乎没有一个独特的拉动动作来执行此操作。

我找到了我想要的:

我试图“拉”,而我真正想要的是一个获取+签出操作

请看这里:

//让我们让所有远程分支都可用

$git fetch
//让我们从刚刚获取的远程服务器创建一个新分支

$git checkout dev

似乎没有唯一的拉操作来执行此操作。

是的,我同意你的看法,但不幸的是,开发分支,正如我所经历的那样,是在一段时间之后创建的。我问题的重点是,如何在不影响当前牧场的情况下,将rbranch拉到lbranch?我发布的语法,相信它是影响特定分支的正确语法,是行不通的。即使我在本地拥有所有分支,如果我从另一个分支git pull,当前分支也将被显著合并…所以你的答案是我的答案?是的,我同意你的观点,但不幸的是,开发分支,正如我所经历的,是在一段时间之后创建的。我问题的重点是,如何在不影响当前牧场的情况下,将rbranch拉到lbranch?我发布的语法,相信它是影响特定分支的正确语法,是行不通的。即使我所有的分支都在本地,如果我从另一个分支中提取,当前的分支将被戏剧性地合并……那么你的答案就是我的答案?你在问什么?1。你克隆了一个repo-2。在远程repo上添加了一个新的dev分支-3。我想在我的本地回购上拉这个远程分支。问题:是否可以从当前分支(主分支)执行此操作,而无需将当前分支合并到此新的远程分支(dev)。这有什么不寻常的吗?另一个类似的问题可能是:我有两个远程分支和两个本地分支A&B,如何仅更新B分支,即使我位于分支的本地位置?(即,从分支A git pull origin B,而不影响A的历史?)完全不清楚您正在尝试做什么,为什么要这样做,等等。必须超出git接口公开的标准工作流工具是不常见的。你确实在努力做到这一点,但我怀疑这是不必要的。要明确的是,如果您拉动
dev
,您的本地
master
将不会与任何内容合并。除非您允许,否则不会在本地发生任何事情。我已经和主人结帐了。如果我执行(从master)git-pull-origin-dev。结果是我将master合并到dev。您能清楚地说明您想要对
dev
分支做什么吗?是否要将
master
合并到
dev
?你想在
dev
上重新设置
master
的基址,还是反之亦然?你在问什么?1。你克隆了一个repo-2。在远程repo上添加了一个新的dev分支-3。我想在我的本地回购上拉这个远程分支。问题:是否可以从当前分支(主分支)执行此操作,而无需将当前分支合并到此新的远程分支(dev)。这有什么不寻常的吗?另一个类似的问题可能是:我有两个远程分支和两个本地分支A&B,如何仅更新B分支,即使我位于分支的本地位置?(即,从分支A git pull origin B,而不影响A的历史?)完全不清楚您正在尝试做什么,为什么要这样做,等等。必须超出git接口公开的标准工作流工具是不常见的。你确实在努力做到这一点,但我怀疑这是不必要的。要明确的是,如果您拉动
dev
,您的本地
master
将不会与任何内容合并。除非您允许,否则不会在本地发生任何事情。我已经和主人结帐了。如果我执行(从master)git-pull-origin-dev。结果是我将master合并到dev。您能清楚地说明您想要对
dev
分支做什么吗?是否要在中合并
master