[英]origin/, remotes/origin/ Git confusion
我刚刚克隆了一个回购并在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'.
错误。
我认为,错误的可能是,您有一个名为origin/master
的本地分支。 尝试运行git branch
。 如果那里列出了origin/master
分支,那就是它。
看看你是否应该删除该分支。 如果您不能或不想,请运行git branch --set-upstream develop remotes/origin/develop
。
我确认origin/develop
是本地分支的名称,而不是对远程分支的引用(如remotes/origin/develop
)
并且分支在其名称中可以有一个“/”:它们被称为“分层分支名称”(请参阅“ 在Git分支名称中使用斜杠字符 ”)。
正如本主题中所述 ,这会阻止您选择“开发”作为分支名称。 你需要重命名它
git branch -m origin/develop develop
git branch --set-upstream develop origin/develop
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.