git: Как удалить локальную ветку ref?

У меня возникли трудности с удалением локальной ветки ref (refs/notes/origin/commits). Мне удалось удалить ветку (refs/notes/origin/commits) в удаленном репозитории с помощью команды

git push origin :refs/notes/origin/commits

но когда я пытаюсь удалить ту же ветку в своем локальном репозитории, я получаю следующую ошибку

[User@centos Clone]# git branch -rd refs/notes/origin/commits
error: remote branch 'refs/notes/origin/commits' not found.

Какие-либо предложения?


person Iowa    schedule 29.08.2013    source источник


Ответы (3)


Просто сделать

git branch -d commits

чтобы удалить локальную ветку.

Используйте переключатель -D, чтобы удалить его независимо от его статуса слияния.

Использовать

git update-ref -d refs/notes/origin/commits

удалить реф.

Вы также можете жестко удалить его, как указано в других ответах, с помощью

rm -rf .git/refs/notes
person akluth    schedule 29.08.2013
comment
Это также помогло исправить сообщение об ошибке error: cannot lock ref 'refs/remotes/origin/feature-x': is at [Guid1] but expected [Guid2] - person Jason L.; 31.07.2018

У вас есть заметки в вашем репозитории git, вы можете удалить одну заметку с помощью

git notes remove <commit>

Для удаления всех заметок необходимо удалить каталог «заметки».

rm -rf .git/refs/notes

или вы можете использовать команду git update-ref.

git update-ref -d refs/notes/commits
person silvio    schedule 29.08.2013

вы можете просто удалить файл из каталога .git. Из корня репозитория его получит такая команда:

rm .git/refs/tags/refs/original/refs/heads/master

Путь может немного отличаться, если команда git-tag не удалась, поэтому вы можете захотеть cd .git/refs и найти головку-нарушитель методом проб и ошибок. Удаление файла удалит ссылку из вашего локального репозитория.

person Ajeesh    schedule 29.08.2013