Git: fatal: Неоднозначное имя объекта: 'origin/release_2.6'
Я получаю эту ошибку при попытке создать ветку удаленного отслеживания
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'.
У меня есть только эти два refs, определенные с помощью release_2.6
git show-ref | grep "release_2.6"
a71b2da1526f73862464a23aceaa1939a8b1ace2 refs/heads/origin/release_2.6
ed1399936a8cc4cd2feed1851123af861b0ff093 refs/remotes/origin/release_2.6
Кто-нибудь знает, что означает эта ошибка?
Приветствия
Ответы
Ответ 1
Если что-то можно найти как в 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
Ответ 2
У меня была аналогичная ошибка, когда я создал удаленную ветку с помощью git -svn. У меня была удаленная ветка и локальная ветвь с тем же именем. Вы можете переименовать локальную ветку, используя
git branch -m old_branch new_name
Это просто переименует локальный ветвь, не меняя удалённую ветку.
Шраван
Ответ 3
У меня была аналогичная ошибка, когда я клонировал репозиторий SVN с помощью git -svn, но у меня не было "источника" в любом пути. Я закончил со следующими ссылками:
0e4b5116f69200ea0d7a2ff9f0fa15630d02b153 refs/heads/development
0ef5969f7ee44b16817053bfe146c499be5f77b7 refs/remotes/development
и я не смог разветкиться; когда я попытался, я получил бы ошибку "неоднозначное имя объекта". Моя ошибка заключалась в том, что когда я сделал оригинальный git svn-клон, я не указал -prefix; правильная форма была
git svn clone --prefix origin/ --stdlayout xxxx
а затем я закончил с refs/remotes/origin/development и т.д., и не было проблем с ветвлением. Согласно странице man, у вас должна быть конечная косая черта в префиксе.
Лиам
Ответ 4
Для меня это была просто глупая ошибка. Я случайно создал ветку, названную как пульт, так как в этом случае у меня была локальная ветвь типа origin/release_2.6
:)