Вам просто нужно нажать «пустую» ссылку на имя удаленного тега:
git push origin :tagname
Или, более выразительно, использовать опцию --delete
(или -d
, если ваша версия git старшечем 1.8.0):
git push --delete origin tagname
Обратите внимание, что в git есть пространство имен тегов и пространство имен веток, поэтому вы можете использовать одно и то же имя для ветви и для тега.Если вы хотите убедиться, что не можете случайно удалить ветку вместо тега, вы можете указать полный ref, который никогда не будет удалять ветку:
git push origin :refs/tags/tagname
Если вам также нужно удалить локальный тег, используйте:
git tag --delete tagname
Фон
Передача ветки, тега или другого ссылки в удаленный репозиторий включает указание «какой репозиторий, какой источник, какой пункт назначения?»
git push remote-repo source-ref:destination-ref
Пример реального мира, в котором вы перемещаете свою основную ветвь в основную ветвь источника:
git push origin refs/heads/master:refs/heads/master
, которая из-за путей по умолчанию может быть сокращена до:
git push origin master:master
Теги работают одинаково:
git push origin refs/tags/release-1.0:refs/tags/release-1.0
Который также можно сократить до:
git push origin release-1.0:release-1.0
Опуская ссылку на источник (часть перед двоеточием), вы нажимаете 'ничто'к месту назначения, удалив ссылку на удаленном конце.