我可以拉到我所在的分支以外的分支吗?

时间:2013-12-31 14:46:54

标签: git branch git-pull

我需要能够拉到一个我可能不会参与的分支(实际上,为了参数而假设我不知道我在哪个分支)。例如,我有一个远程origin,其分支master由本地master使用跟踪分支以常规方式在本地跟踪。我可以提供给git-pull的选项或参数与切换到master,拉动,然后切换回我开始的任何分支具有相同的效果吗?

此处的许多答案都表明这是不可能的,但<dst><refspec>的{​​{3}}表示类似

git pull origin master:master 

会做到这一点。是这样吗?

4 个答案:

答案 0 :(得分:5)

git pull基本上是git fetch后跟git merge

无法为另一个分支执行git pull,因为无法为另一个分支执行git merge。为了能够git merge,您需要先检查目标分支。出于同样的原因,您无法为另一个分支执行git pull

@torek增加了一个很好的观点:

  

并且,要专门解决git pull origin x:y:git pull将x:y参数传递给git fetch,所以git fetch执行它所做的事情;但随后git pull尝试合并到当前分支,无论x和/或y。

请参阅此内容以供参考:

Merging Branches Without Checkout

答案 1 :(得分:1)

我从未见过master:master语法。通常:git pull origin例如主

我认为你想要做的是先取一个。然后,您可以合并任何跟踪分支,或切换到它们。

答案 2 :(得分:0)

拉取基本上是一个提取,然后检查当前(跟踪)分支上的更新。你想要的就是获取。

git fetch origin master:master

答案 3 :(得分:0)

您真的需要git pull的合并功能吗?

如果没有,你可以这样做:

git fetch
git branch -f master origin/master

这简单地使本地主服务器指向同一个提交,远程主服务器指向。