Как удалить тег из репозитория Git (локального или удалённого)

Как удалить тег из репозитория Git (локального или удалённого)

Возможность помечать конкретные изменения в истории коммитов - очень важная и полезная фича. Программисты используют git tag для обозначения версий релизов своих проектов. Таким образом, используя git tag, они обозначают выпуски конкретными версиями. А мы уже, как пользователи, с помощью composer, например, может обратиться к конкретной версии, и подключить её в свой проект. И именно благодаря тегированию мы и можем выбирать конкретную версии, которые подключаем: tags

Иногда мы совершаем ошибки, ведь мы все люли, в конце концов. Мы добавляем не те файлы в коммит, или мы добавляем тег в неправильной ветке, или коммитим изменения в другой ветке, не в той, что предполагалось изначально. Потому, shit happens, уверен, какие-то из подобных случаев происходили и с вами. И для этого я пишу сегодняшнюю статью, где хочу поделиться опытом и рассказать, как удалить тег в репозитории git.

Я уверен, что большинство из вас уже неплохо знакомы с Git-ом и тегами, но если это не так, то советую вам посетить страницу документации Git, где почитать об этом подробнее. Если же вы зашли сюда, чтобы получить быстрый ответ, как в git удалить ошибочно добавленный тег, то он строчкой ниже (так что сегодня вам не придётся перечитывать и искать это на страницах документации).

git tag -d <TAG_NAME>

Например, для удаления тега 1.25.1 нужно выполнить:

git tag -d 1.25.1

Вы можете легко запомнить эту команду, благодаря её декларативности. Мы можем читать её так: выполнить git tag для удаления тега -d с именем 1.25.1.

Эта команда сработает только в случае, если вы работаете с локальной веткой git репозитория. Если же вы уже залили неправильный тег в удалённый репозиторий (например, в GitHub), то вам следует удалить тег из удаленного репозитория немного другим способом.

Удаление тега с удалённого репозитория

Для того, чтобы удалить тег в удалённом репозитории, нам просто нужно отправить информацию на удалённый сервер:

git push origin :refs/tags/<TAG_NAME>

Или просто:

git push origin <TAG_NAME>

То есть, для удаления тега 1.25.1 мы бы выполнили:

git push origin 1.25.1

Если вы не понимаете, что в этой команде значит origin, и из чего конкретно состоит эта команда, то советую прочитать мою предыдущую статью, где я показывал, как удалить ветку в Git.

В этой статье я показал, как в GIT удалить тег на сервере, или же, удалить локальный тег. Вот и всё, вот так просто ^^.