混淆来自git的错误信息
我从Git得到这个消息:
你要求从远程的“起源”拉,但没有指定分支。 因为这不是您当前分支的默认远程configuration,所以您必须在命令行上指定一个分支。
任何人都可以解释吗? 更重要的是如何解决它?
你必须告诉git你想从“origin”远程仓库中取出哪个分支。
我想你想要的默认分支(主)所以git pull origin master
应该解决您的问题。
请参阅git help branch
, git help pull
和git help fetch
更多信息。
为了解决这个问题,假设你在master
分支上,并且希望从origin
远程服务器上获得master
分支,那么在新的Git版本(1.8或者更新版本)中:
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之前,你必须这样做。
消息确切地说是什么。 您当前的分支不与(不跟踪)任何来源的分支关联。 所以git不知道要拉什么。
该怎么办? 那要看…
在大多数情况下,你正在closures一些本地分支xyz ,这个xyz分支是从原来的主人克隆出来的。 解决这个问题的通常方法是切换到master并拉动它与原点同步,然后回到xyz和rebase master
。
但在你的情况下,你可能想要做别的事情。 如果不知道分支机构和遥控器的细节以及您打算如何使用它们,我们就无法知晓。