首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >origin/,remotes/origin/ Git混淆

origin/,remotes/origin/ Git混淆
EN

Stack Overflow用户
提问于 2012-11-20 13:03:19
回答 2查看 1.6K关注 0票数 5

我刚刚克隆了一个存储库,并在Git中开始了一个新的分支。我已经这样做过很多次了,没有遇到任何问题。今晚,当我尝试使用git branch --set-upstream develop origin/develop来设置上游位置时,我得到了这个错误:

代码语言:javascript
运行
复制
fatal: Ambiguous object name: 'origin/develop'.

仔细阅读后发现,这是由于源和远程/源中存在相同的分支名称所致。我不明白这两者之间的区别,以及为什么它们会以这种方式冲突。我输入了git branch -a,输出如下:

代码语言:javascript
运行
复制
* develop
  master
  origin/develop
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/master

我搞不懂origin/developremotes/origin/develop之间的区别是什么,以及为什么会导致fatal: Ambiguous object name: 'origin/develop'.错误。

EN

回答 2

Stack Overflow用户

发布于 2012-11-20 13:27:47

我认为,可能是错误的,你有一个叫origin/master的本地分支机构。尝试运行git branch。如果那里列出了一个origin/master分支,那就是它。

看看你是否应该删除那个分支。如果您不能或不想这样做,请运行git branch --set-upstream develop remotes/origin/develop

票数 2
EN

Stack Overflow用户

发布于 2012-11-20 15:28:12

我确认origin/develop是本地分支的名称,而不是对远程分支的引用(如remotes/origin/develop)

并且分支的名称中可以有一个'/‘:它们被称为“分层分支名称”(参见"Using the slash character in Git branch name")。

正如在this thread中所解释的,这会阻止您选择"develop“作为分支名称。您需要将其重命名

代码语言:javascript
运行
复制
 git branch -m origin/develop develop
 git branch --set-upstream develop origin/develop
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13466877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档