Git:致命:不明确的对象名称:'origin / release_2.6'

时间:2010-09-23 22:12:23

标签: git reference

尝试创建远程跟踪分支时出现此错误

git co -b release_2.6 origin/release_2.6
warning: refname 'origin/release_2.6' is ambiguous.
warning: refname 'origin/release_2.6' is ambiguous.
fatal: Ambiguous object name: 'origin/release_2.6'.

我只使用release_2.6

定义了这两个引用
git show-ref | grep "release_2.6"
a71b2da1526f73862464a23aceaa1939a8b1ace2 refs/heads/origin/release_2.6
ed1399936a8cc4cd2feed1851123af861b0ff093 refs/remotes/origin/release_2.6

有谁知道这个错误意味着什么?

干杯

4 个答案:

答案 0 :(得分:58)

如果refs/heads/refs/remotes/都可以找到某些内容,那么这是不明确的。 您有远程origin/release_2.6的本地分支release_2.6和远程跟踪分支origin。不要以为你应该有一个refs/heads/origin/release_2.6分支。无论如何,您可以指定完整的引用名称来解决歧义:

git co -b release_2.6 refs/remotes/origin/release_2.6

答案 1 :(得分:9)

使用git-svn创建远程分支时出现类似错误。我有远程分支和同名的本地分支。您可以使用重命名本地分支
git branch -m old_branch new_name
这将只重命名本地分支而不更改远程分支。

Shravan

答案 2 :(得分:3)

当我使用git-svn克隆SVN存储库时,我遇到了类似的错误,但我在任一路径中都没有“原点”。我最终得到了以下参考文献:

 0e4b5116f69200ea0d7a2ff9f0fa15630d02b153 refs/heads/development
 0ef5969f7ee44b16817053bfe146c499be5f77b7 refs/remotes/development  

我无法分支;当我尝试时,我会得到“模糊的对象名称”错误。我的错误是当我做了原始的git svn克隆时,我没有指定--prefix;正确的形式是

git svn clone --prefix origin/ --stdlayout xxxx

然后我最终得到refs / remotes / origin / development等,并且没有问题分支。根据手册页,您必须在前缀上加上斜杠。

利安

答案 3 :(得分:3)

对我来说,这只是一个愚蠢的错误。我不小心创建了一个名为remote的分支,就像在这种情况下我有一个像origin/release_2.6这样的本地分支:)