Как удалить тег из репозитория Git (локального или удалённого)
Возможность помечать конкретные изменения в истории коммитов - очень важная и полезная фича. Программисты используют git tag
для обозначения версий релизов своих проектов. Таким образом, используя git tag
, они обозначают выпуски конкретными версиями. А мы уже, как пользователи, с помощью composer
, например, может обратиться к конкретной версии, и подключить её в свой проект. И именно благодаря тегированию мы и можем выбирать конкретную версии, которые подключаем:
Иногда мы совершаем ошибки, ведь мы все люли, в конце концов. Мы добавляем не те файлы в коммит, или мы добавляем тег в неправильной ветке, или коммитим изменения в другой ветке, не в той, что предполагалось изначально. Потому, 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 удалить тег на сервере, или же, удалить локальный тег. Вот и всё, вот так просто ^^.