origin/,remotes/origin/Git混淆

origin/,remotes/origin/Git混淆,git,repository,branch,Git,Repository,Branch,我刚刚克隆了一个回购协议,并在Git中创建了一个新分支。我已经做了很多次,没有遇到任何问题。今晚,当我尝试使用git branch--set upstream develope origin/develope设置上游位置时,我遇到了以下错误: fatal: Ambiguous object name: 'origin/develop'. 仔细阅读表明,这是源和远程/源中存在相同分支名称的结果。我不理解这两者之间的区别,以及它们为什么会以这种方式冲突。我键入了git branch-a,这是输出:

我刚刚克隆了一个回购协议,并在Git中创建了一个新分支。我已经做了很多次,没有遇到任何问题。今晚,当我尝试使用
git branch--set upstream develope origin/develope
设置上游位置时,我遇到了以下错误:

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/develope
remotes/origin/develope
之间的区别感到困惑,以及为什么这会导致
致命的:不明确的对象名称:“origin/develope”。
错误。

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


看看是否应该删除该分支。如果您不能或不想,请运行
git branch——改为设置上游开发远程/origin/develope

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

分支的名称中可以有一个“/”:它们被称为“层次化分支名称”(参见“”)。
如中所述,这会阻止您选择“开发”作为分支名称。你需要重新命名它

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