来自git的混淆错误消息
我从Git收到了以下消息: 您要求从远程“源”提取,但未指定 树枝。因为这不是默认的远程配置 对于当前分支,必须在命令行上指定分支来自git的混淆错误消息,git,github,Git,Github,我从Git收到了以下消息: 您要求从远程“源”提取,但未指定 树枝。因为这不是默认的远程配置 对于当前分支,必须在命令行上指定分支 有人能解释一下吗?更重要的是如何修复它?您必须告诉git您要从“原始”远程回购中提取哪个分支 我猜您需要默认的分支(主分支),因此git-pull-origin-master应该可以解决您的问题 有关更多信息,请参见git-help分支、git-help-pull和git-help-fetch。消息准确地说明了它的内容。您当前的分支未与源中的任何分支关联(未跟踪)。
有人能解释一下吗?更重要的是如何修复它?您必须告诉git您要从“原始”远程回购中提取哪个分支 我猜您需要默认的分支(主分支),因此
git-pull-origin-master
应该可以解决您的问题
有关更多信息,请参见
git-help分支
、git-help-pull
和git-help-fetch
。消息准确地说明了它的内容。您当前的分支未与源中的任何分支关联(未跟踪)。所以git不知道该拉什么
怎么办?那要看
在最常见的情况下,您正在处理某个本地分支xyz,该分支是从源主机克隆而来的。解决此问题的通常方法是切换到主控并拉动以使其与原点同步,然后返回xyz并重新设置主控
但在你的情况下,你可能想做些别的事情。如果不知道您的分支和远程设备的详细信息以及您打算如何使用它们,我们就无法知道它。若要修复它,假设您在
主
分支上,并且希望以足够新的Git版本(1.8或更高版本)从源
远程设备中拉出主
分支:
(与其他分支和/或遥控器类似。)
如果您可以将此功能与推送功能结合使用,则它会更短:
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之前,您必须这样做。为了使它工作,我必须签出“主”分支(没有选择分支)并进行拉取,这解决了问题。@cinek:是的,
git pull
拉取并合并当前分支,因此其行为完全取决于签出的分支以及分离的分支(没有签出分支),它不可能知道要拉哪个分支。@cinek:我想你是git的新手,所以我承认你在branch master上处于完全标准的状态,我的坏:-)。我认为顶部的命令(至少在我的git版本中)将名为“origin”的分支的上游设置为“origin/master”。如果您的分支在本地被称为“master”,我想您会想要:git branch——设置上游master origin/master
,有趣的是,在我的版本1.8.5.3中,-u
选项对于git branch
是没有文档的,这使得您在这里的文档更加重要。而且,正如您所注意到的,该选项在版本1.7中不可用。*。既然-u
是--set upstream
的缩写,那么它的参数顺序不应该因为@EvanDonovan的评论而与您对--set upstream
的操作顺序相反吗?但是,当我使用您显示的命令(git branch-u origin/master
)时,它的工作原理与我预期的一样:“分支主机设置为从原点跟踪远程分支主机。“@hobs:这实际上是Git的一种反常行为。-u
开关实际上不是上游设置的--的缩写形式。它的参数顺序实际上与--set up
的顺序相反。我想直到后来才引入了--set upstream to
(注意“-to”),这就是-u
现在实际上是.Wow的缩写形式!确实令人困惑。谢谢你帮我解开这个。
git config branch.master.remote origin
git config branch.master.merge refs/heads/master