【问题标题】:origin/, remotes/origin/ Git confusionorigin/, remotes/origin/ Git 混淆
【发布时间】:2012-11-20 05:03:19
【问题描述】:

我刚刚克隆了一个 repo 并在 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

我对@9​​87654325@ 和remotes/origin/develop 之间的区别以及为什么会导致fatal: Ambiguous object name: 'origin/develop'. 错误感到困惑。

【问题讨论】:

    标签: git repository branch


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我确认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/develop
      

      【讨论】:

        猜你喜欢
        • 2012-05-22
        • 2013-09-25
        • 2017-12-07
        • 2021-03-29
        • 2013-09-02
        • 2017-02-11
        • 2021-03-07
        • 1970-01-01
        相关资源
        最近更新 更多