我从Git收到了这条消息:
您要求从遥控器“原点”拉出,但未指定 分店。因为这不是默认配置的远程 对于当前分支,必须在命令行上指定分支。
任何人都可以解释一下吗?更重要的是如何解决它?
答案 0 :(得分:80)
你必须告诉git你想从“origin”远程回购中提取哪个分支。
我想你想要默认的分支(主),所以git pull origin master
应该解决你的问题。
有关更多信息,请参阅git help branch
,git help pull
和git 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} }。
但在您的情况下,您可能想要做其他事情。如果不了解您的分支和遥控器的详细信息以及您打算如何使用它们,我们无法知道它。