我刚刚克隆了一个存储库,并在Git中开始了一个新的分支。我已经这样做过很多次了,没有遇到任何问题。今晚,当我尝试使用git branch --set-upstream develop origin/develop来设置上游位置时,我得到了这个错误:
fatal: Ambiguous object name: 'origin/develop'.仔细阅读后发现,这是由于源和远程/源中存在相同的分支名称所致。我不明白这两者之间的区别,以及为什么它们会以这种方式冲突。我输入了git branch -a,输出如下:
* develop
master
origin/develop
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/master我搞不懂origin/develop和remotes/origin/develop之间的区别是什么,以及为什么会导致fatal: Ambiguous object name: 'origin/develop'.错误。
发布于 2012-11-20 13:27:47
我认为,可能是错误的,你有一个叫origin/master的本地分支机构。尝试运行git branch。如果那里列出了一个origin/master分支,那就是它。
看看你是否应该删除那个分支。如果您不能或不想这样做,请运行git branch --set-upstream develop remotes/origin/develop。
发布于 2012-11-20 15:28:12
我确认origin/develop是本地分支的名称,而不是对远程分支的引用(如remotes/origin/develop)
并且分支的名称中可以有一个'/‘:它们被称为“分层分支名称”(参见"Using the slash character in Git branch name")。
正如在this thread中所解释的,这会阻止您选择"develop“作为分支名称。您需要将其重命名
git branch -m origin/develop develop
git branch --set-upstream develop origin/develophttps://stackoverflow.com/questions/13466877
复制相似问题