предупреждение: игнорирование сломанных 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/

3 ответов


я столкнулся с этим недавно, когда кто-то из моей команды удалил нашу старую ветку разработки с пульта дистанционного управления. Я запустил эту команду, чтобы проверить статус 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.)


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


С возможно, вы исключили в филиал origin/HEAD изначально указал.

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

git branch -r

2. Если он не отображается в результатах:

origin/HEAD -> origin/(something)

3. Просто наведите его снова с:

git remote set-head origin master

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


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


выглядит как ветвь по умолчанию вашего remote origin больше не существует.
Исправить ветку по умолчанию удаленного: