Git Tag
Последнее обновление
git tag помечает определённый коммит именем - обычно версией релиза, например v1.0.0. Теги бывают двух видов: легковесные (просто имя, указывающее на коммит) и аннотированные (полноценный объект с сообщением, автором и датой). Теги не отправляются автоматически, поэтому вы отправляете их отдельно.
Попробуйте это в терминальном playground - настоящая оболочка в вашем браузере, ничего устанавливать не нужно.
Синтаксис
| Command | What it does |
|---|---|
git tag v1.0.0 | Создать легковесный тег на HEAD |
git tag -a v1.0.0 -m "Release 1.0" | Создать аннотированный тег с сообщением |
git tag -a v1.0.0 <hash> | Пометить конкретный прошлый коммит |
git tag | Вывести список всех тегов |
git push origin v1.0.0 | Отправить один тег в удалённый репозиторий |
git push --tags | Отправить все теги |
git tag -d v1.0.0 | Удалить локальный тег |
lightweight vs annotated
| Lightweight | Annotated | |
|---|---|---|
| Хранит сообщение | Нет | Да |
| Записывает автора и дату | Нет | Да |
| Подходит для релизов | Нет | Да |
Часто задаваемые вопросы о git tag
Как создать тег в Git?
Для быстрой пометки выполните
git tag <name> (легковесный тег на текущем коммите). Для релиза создайте аннотированный тег: git tag -a v1.0.0 -m "Release 1.0", который хранит сообщение, автора и дату. Добавьте хеш коммита в конце, чтобы пометить более старый коммит.В чём разница между легковесными и аннотированными тегами?
Легковесный тег - это просто имя, указывающее на коммит, без дополнительных данных. Аннотированный тег - это полноценный объект Git с сообщением, именем создателя и датой, и его можно проверить. Используйте аннотированные теги для релизов; легковесные подходят для временных или частных пометок.
Как отправить теги в удалённый репозиторий?
Теги не включаются в обычный
git push. Отправьте конкретный тег с помощью git push origin <tagname> или отправьте все теги сразу с помощью git push --tags. Это часто сбивает с толку - созданный вами тег остаётся локальным, пока вы его не отправите.Как удалить тег?
Удалите локальный тег с помощью
git tag -d <tagname>. Чтобы также удалить его из удалённого репозитория, выполните git push origin --delete <tagname> (или устаревший git push origin :refs/tags/<tagname>). Удаление локальных и удалённых тегов - это отдельные шаги.Могу ли я потренироваться онлайн?
Да. Откройте терминальный playground, чтобы выполнить
git tag в настоящей оболочке в вашем браузере - ничего устанавливать не нужно. Бесплатный интерактивный курс по Git от Coddy также пошагово охватывает теги и релизы.