我需要能够拉到一个我可能不会参与的分支(实际上,为了参数而假设我不知道我在哪个分支)。例如,我有一个远程origin
,其分支master
由本地master
使用跟踪分支以常规方式在本地跟踪。我可以提供给git-pull
的选项或参数与切换到master
,拉动,然后切换回我开始的任何分支具有相同的效果吗?
此处的许多答案都表明这是不可能的,但<dst>
下<refspec>
的{{3}}表示类似
git pull origin master:master
会做到这一点。是这样吗?
答案 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。
请参阅此内容以供参考:
答案 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
这简单地使本地主服务器指向同一个提交,远程主服务器指向。