来自git的混淆错误消息

时间:2010-06-28 14:47:51

标签: git github

我从Git收到了这条消息:

  

您要求从遥控器“原点”拉出,但未指定   分店。因为这不是默认配置的远程   对于当前分支,必须在命令行上指定分支。

任何人都可以解释一下吗?更重要的是如何解决它?

3 个答案:

答案 0 :(得分:80)

你必须告诉git你想从“origin”远程回购中提取哪个分支。

我想你想要默认的分支(主),所以git pull origin master应该解决你的问题。

有关更多信息,请参阅git help branchgit help pullgit help fetch

答案 1 :(得分:78)

要解决此问题,假设您在master分支上,并希望从master远程的origin分支中获取足够新的Git版本(1.8或更新版本):< / p>

git branch -u origin/master master

(类似于其他分支和/或遥控器。)

如果你可以将它与推动相结合,那就更短了:

git push -u origin master

此后,普通git pull / git push将按预期执行。


在Git 1.7系列中,git branch没有-u开关(仅git push完成),相反,您必须使用更长的--set-upstream

git branch --set-upstream master origin/master

请注意与-u相比的参数反转。我不止一次地摸索了这个订单。


顺便说一句,所有这些都是执行以下操作的缩写,您仍然可以明确地执行此操作:

git config branch.master.remote origin
git config branch.master.merge refs/heads/master

在1.7之前,你这样做。

答案 2 :(得分:3)

消息确切地说明了它的含义。您当前的分支与 origin 中的任何分支都没有关联(不跟踪)。所以git不知道要拉什么。

怎么办?这取决于......

在大多数情况下,你正在处理一些本地分支 xyz ,它从 master 分支,这是从 origin 的master中克隆的。解决此问题的常用方法是切换到 master 并将其与 origin 同步,然后返回 xyz 和{{1} }。

但在您的情况下,您可能想要做其他事情。如果不了解您的分支和遥控器的详细信息以及您打算如何使用它们,我们无法知道它。