Git Tag удалить и повторно добавить - PullRequest
66 голосов
/ 30 октября 2011

В git hub я заново добавил тег, выполнив:

git tag -d 12.15
git push origin :refs/tags/12.15
git tag -a 12.15 -m '12.15'
git push --tags

Тег все еще ссылается на старый тег на github, но локально он сделан правильно.

ОБНОВЛЕНИЕ: Кажется, github перечисляет неверный последний коммит, но загружает его правильно.

1 Ответ

71 голосов
/ 09 мая 2013

Ссылка: https://stackoverflow.com/a/5480292/1317035

Вам просто нужно нажать «пустую» ссылку на имя удаленного тега:

git push origin :tagname

Или, более выразительно, использовать --deleteопция:

git push --delete origin tagname

Передача ветки, тега или другого ссылки в удаленный репозиторий включает в себя указание «отправка куда, какой источник, какой пункт назначения?»

git push where-to-push source-ref:destination-ref

Пример из реальной жизнигде вы перемещаете основную ветвь в основную ветвь источника:

git push origin refs/heads/master:refs/heads/master

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

git push origin master:master

Теги работают одинаково:

git push refs/tags/release-1.0:refs/tags/release-1.0

Опуская ссылку на источник (часть перед двоеточием), вы нажимаете 'ничто' до места назначения, удаляя ссылку на удаленном конце.

...