Ответ
Тег (tag) в Git — это именованная метка, которая указывает на конкретный коммит в истории проекта. Основное назначение тегов — отмечать важные точки, чаще всего — версии релизов (например, v1.0, v2.1.5).
В отличие от веток, теги являются статичными указателями и не перемещаются при создании новых коммитов.
Существует два типа тегов:
-
Легковесные (Lightweight) Это простой указатель на коммит, не содержащий дополнительной информации. Похож на ветку, которая не изменяется.
# Создание легковесного тега git tag v1.0-beta -
Аннотированные (Annotated) Это полноценные объекты в базе данных Git. Они содержат имя автора, email, дату создания, сообщение и могут быть подписаны GPG. Рекомендуется использовать именно их для публичных релизов.
# Создание аннотированного тега с сообщением git tag -a v1.0 -m "First stable release"
Основные команды для работы с тегами:
git tag: Показать список всех тегов.git show v1.0: Показать информацию о теге и коммите, на который он ссылается.git push origin v1.0: Отправить конкретный тег в удаленный репозиторий.git push origin --tags: Отправить все локальные теги.
Ответ 18+ 🔞
А, ну это ж про теги в Гите! Ну, типа, такая хуйня, чтобы не потеряться в истории коммитов, как в дремучем лесу. Представь, блядь, ты наконец-то допилил свой проект до вменяемого состояния — вот он, релиз, красавчик! И чтобы потом не искать его по всей истории, как иголку в стоге сена, ты вешаешь на этот коммит бирочку. Это и есть тег, ёпта.
Тег (tag) — это типа именная табличка, которая намертво, блядь, прибита к конкретному коммиту. Чаще всего вешают на версии: v1.0, v2.5.3 и всё такое. Главное отличие от ветки — ветка-то ползает, как мартышлюшка, с каждым новым коммитом, а тег — стоит на месте, как вкопанный. Навесил и забыл, пока не понадобится.
А теги-то, сука, бывают двух сортов:
-
Легковесные (Lightweight) Это просто писюлька, ярлычок. Ни имени, ни отчества, ни истории болезни. Указал и всё. Создаётся проще пареной репы:
git tag v1.0-betaВот и всё, блядь. Тег есть.
-
Аннотированные (Annotated) А вот это уже серьёзные пацаны, полноценные объекты. Тут тебе и автор, и дата, и можно накатать целое послание потомкам. Для релизов — самое то, чтобы не было потом "а кто это сделал, блядь?".
git tag -a v1.0 -m "Первый стабильный релиз, ура, блядь!"Вот это уже солидно, да.
Чё с ними вообще делать можно, этими тегами?
git tag— посмотреть, какие таблички у тебя уже валяются в сарае. Список, короче.git show v1.0— а это чтобы рассмотреть конкретную бирку под лупой. Что за коммит, кто автор, какое сообщение.git push origin v1.0— отправить одну конкретную табличку на сервер, чтобы все видели.git push origin --tags— а это, блядь, по-богатому: отправить все свои локальные теги разом. Главное, не натолкать туда какого-нибудь тестаdebug-shit, а то потом стыдно будет.
Вот и вся магия. Создал, подписал, отправил — и спи спокойно, версия не потеряется.