Предупреждение: игнорирование неработающих ref refs/remotes/origin/HEAD

Начиная с нескольких дней назад, каждый раз, когда я нажимаю клавишу tab для завершения имен ветвей в bash, я вижу сообщение:

предупреждение: игнорирование неработающего ref refs/remotes/origin/HEAD предупреждение: игнорирование неработающих ref refs/remotes/origin/HEAD

Например, это то, что я вижу, когда у меня есть ветвь с именем feature/foo, и я нажимаю tab:

git checkout f

$ git checkout fwarning: ignoring broken ref refs/remotes/origin/HEAD
warning: ignoring broken ref refs/remotes/origin/HEAD
eature/

Ответ 1

Я столкнулся с этим недавно, когда кто-то из моей команды удалил нашу ветку разработки с удаленного. Я выполнил эту команду, чтобы проверить состояние HEAD:

$ git symbolic-ref refs/remotes/origin/HEAD
refs/remotes/origin/old_dev

Эта команда выводит имя старой ветки разработки, которая больше не существует.

Я исправил предупреждения, используя это:

$ git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/new_dev

(Где "new_dev" - имя ветки. Замените его именем ветки, на которую хотите указать HEAD.)

Ответ 2

Это более простое решение, чем symbolic-ref.


Так как вы, возможно, исключили ветку, на которую первоначально указывалось origin/HEAD.

1. Список удаленных веток:

git branch -r

2. Если это не показано в результатах:

origin/HEAD -> origin/(something)

3. Просто укажите еще раз:

git remote set-head origin master

где "master" - это имя вашей основной (головной) ветки.


Запуск git branch -r снова теперь показывает origin/HEAD -> origin/(something), и предупреждение уходит.

Ответ 3

Похоже, что ветвь по умолчанию вашего удаленного устройства origin больше не существует.
Исправьте ветвь по умолчанию пульта дистанционного управления:

Ответ 4

  Просто запустите команду -

git remote set-head origin master

Enjoy!