origin /,remotes / origin / Git混乱

时间:2012-11-20 05:03:19

标签: git repository branch

我刚刚克隆了一个回购并在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/developremotes/origin/develop之间的差异感到困惑,以及为什么会导致fatal: Ambiguous object name: 'origin/develop'.错误。

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

分支的名称中可以有一个'/':它们被称为“分层分支名称”(参见“Using the slash character in Git branch name”)。
this thread中所述,这会阻止您选择“开发”作为分支名称。你需要重命名

 git branch -m origin/develop develop
 git branch --set-upstream develop origin/develop