Я новичок в Git, и мне кажется, что у меня слишком много одной ветки, если я выполню следующую команду:
warning: refname 'HEAD' is ambiguous.
Получаю следующий результат:
warning: refname 'HEAD' is ambiguous.
From github.com:dagda1/hornget
* branch master -> FETCH_HEAD
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
Если я выполню git branch -a
Получаю следующее:
HEAD
* master
remotes/emmekappa/master
remotes/origin/HEAD -> origin/master
remotes/origin/master
Меня смущает remotes/origin/HEAD -> origin/master
.
Что это и как избавиться от неоднозначной ветки.
Я дошел до этого этапа, выполнив слияние, где, как мне кажется, я добавил неоднозначную ветвь.
warning: refname 'HEAD' is ambiguous.
remotes/origin/HEAD -> origin/master
не проблема: он просто показывает, какая ветвь удалена по умолчаниюorigin
. Названная веткаHEAD
есть.Ответы:
Проблема в том, что у вас есть ветка с именем,
HEAD
которая является абсолютно опасной, поскольку это символическое имя любой ветки, которая является текущей ветвью.Переименуйте его:
затем вы можете изучить его и решить, что делать (удалить или сохранить под описательным именем ветки)
(
origin/HEAD
Удаленная ветка не проблема)источник
origin/HEAD
может не быть проблемой, если вы случайно создадите ветвь, которая называетсяorigin/somebranch
проблемой (и приведет к такому же «неоднозначному» сообщению об ошибке). Когда вы пытаетесь выполнить извлечение из "какой-то ветки", вы получите извлечение из локальной (случайной) ветки, а не из удаленной. В этом случае я обнаружил, что предложение flickerfly отличноgit branch -d origin/somebranch
работает.head
(в нижнем регистре).Кроме того, это приведет к удалению ветки, если она вам просто не нужна.
Используйте заглавную букву,
-D
чтобы принудительно удалить:источник
Если вы создали тег с именем
HEAD
using ...... вы можете просто удалить этот тег, используя:
См. Этот случай: kerneltrap.org/git-tag HEAD
источник
Это означает, что у вас есть ветка с именем «голова». У меня была такая же проблема, я решил, выполнив следующую команду.
источник
Проверьте ссылки, доступные в вашем репозитории git. Вы увидите две HEAD в вашем репозитории. Это делает вашу ветку с refname HEAD неоднозначной.
Решение:
Переименовать ветку
ИЛИ
Удалить ветку
источник