Сообщение об ошибке
error: cannot lock ref 'refs/tags/+"feature/04-28_v001-11"+': unable to create directory for .git/refs/tags/+"feature/04-28_v001-11"+
указывает на то, что вы не работаете в POSIX. Я предполагаю, что вы находитесь на Windows.
Как указывает сообщение об ошибке, Git не может создать каталог, содержащий символ двойной кавычки. Вывод заключается в том, что тег не существует в файловой системе, но существует только в файле упакованных ссылок.
ПРЕДУПРЕЖДЕНИЕ: Ниже предлагается метод решения вашей проблемы, но вы работаете с базой данных Git. Перед продолжением убедитесь, что у вас есть резервная копия хранилища.
Прежде чем продолжить, убедитесь, что хранилище находится в состоянии покоя. Никакие операции Git не должны выполняться. Закройте все пользовательские интерфейсы, включая редакторы кода и IDE, которые будут обращаться к хранилищу.
Теперь создайте резервную копию файла
.git/packed-refs
на тот случай, если вы что-то сломаете.
Чтобы удалить тег, отредактируйте этот файл с помощью современного редактора исходного кода, который может справиться с ограничителями строки Unix (LF вместо CRLF) (любой редактор, кроме Notepad, подойдет). Посмотрите на строки, упоминающие теги, и удалите строки и строки, следующие за ними, если они начинаются с символа ^
.
То есть, когда вы начинаете с
# pack-refs with: peeled fully-peeled sorted
9e72299d[...] refs/heads/master
57689754[...] refs/tags/bad/one
^b73b6860[...]
03706a09[...] refs/tags/bad/two
^ed20caaf[...]
f9d1d51c[...] refs/tags/good/one
^4974cb42[...]
, вы удалите bad
, вы должны закончить с
# pack-refs with: peeled fully-peeled sorted
9e72299d[...] refs/heads/master
f9d1d51c[...] refs/tags/good/one
^4974cb42[...]
Позвоните git tag
, чтобы проверить результат.