Что такое теги в Git, как их создавать и использовать для релизов?
Теги в Git представляют собой специальные метки, которые указывают на определенные точки в истории коммитов репозитория. В отличие от веток, теги являются статичными и не перемещаются автоматически при добавлении новых коммитов. Они чаще всего используются для фиксации версий продукта, таких как v1.0.0 или v2.1.4, чтобы разработчики всегда могли легко найти состояние кода, соответствующее определенному релизу.
В Git существует два основных типа тегов: легковесные и аннотированные. Легковесный тег — это просто неудаляемый указатель на конкретный хеш коммита. Аннотированный тег представляет собой полноценный объект в базе данных Git, который содержит имя автора, адрес электронной почты, дату создания, а также сообщение тега. Для публичных релизов всегда рекомендуется использовать именно аннотированные теги.
Чтобы создать аннотированный тег, используется команда git tag с ключом -a и указанием имени тега, а также ключ -m для добавления текстового описания релиза. Например, команда git tag -a v1.0.0 -m "stable release version" зафиксирует текущий коммит. Если нужно поставить метку на более ранний коммит, в конец команды добавляется его хеш.
По умолчанию команда git push не отправляет созданные локально теги на удаленный сервер, чтобы избежать случайной публикации незаконченных версий. Для отправки конкретного тега на сервер используется команда git push origin v1.0.0. Если вы хотите отправить сразу все локальные теги, которые еще не были синхронизированы, применяется команда git push origin --tags.
Для просмотра списка всех доступных тегов используется базовая команда git tag. Если вам нужно изучить код определенной версии, вы можете переключиться на неё с помощью команды git checkout v1.0.0, однако помните, что при этом репозиторий перейдет в состояние «отсоединенного HEAD». Для продолжения разработки поверх тега лучше сразу создать новую ветку на его основе.