Теги Git
Если вы достигли важного этапа и хотите всегда помнить снимок коммита, вы можете использоватьgit tagчтобы пометить его тегом.
Теги Git используются для отметки определённых точек коммитов в репозитории, обычно для версий релизов (таких как v1.0, v2.0).
Например, если мы хотим выпустить версию "1.0" для нашего примера проекта, мы можем использоватьgit tag -a v1.0Эта команда помечает последний коммит (HEAD) тегом "v1.0".
-aПараметры
"Создать аннотированный тег", не обязательно-aЭтот параметр также работает, но он не записывает, когда был создан тег, кем, и не позволяет добавить аннотацию к тегу. Мы рекомендуем всегда создавать аннотированные теги.Формат синтаксиса тега:
git tag <tagname>
Например:
git tag v1.0
-aПараметр может добавить аннотацию:
$ git tag -a v1.0
Когда вы запускаете команду git tag -a, Git откроет ваш редактор и позволит написать аннотацию к тегу, точно так же, как при написании аннотации к коммиту.
Теперь обратите внимание, что когда мы выполняемgit log --decorateВ этот момент мы можем увидеть наш тег:
* d5e9fc2 (HEAD -> master) Merge branch 'change_site' |\ | * 7774248 (change_site) changed the example.php * | c68142b 修改代码 |/ * c1501a2 removed test.txt、add example.php * 3e92c19 add test.txt * 3b58100 第一次版本提交
Если мы забыли поставить тег на коммит и уже выпустили его, мы можем добавить тег к нему позже.
Например, предположим, мы выпустили коммит 85fc7e7 (последняя строка в примере выше), но забыли поставить на него тег в тот момент. Теперь мы также можем:
$ git tag -a v0.9 85fc7e7 $ git log --oneline --decorate --graph * d5e9fc2 (HEAD -> master) Merge branch 'change_site' |\ | * 7774248 (change_site) changed the example.php * | c68142b 修改代码 |/ * c1501a2 removed test.txt、add example.php * 3e92c19 add test.txt * 3b58100 (tag: v0.9) 第一次版本提交
Если мы хотим просмотреть все теги, мы можем использовать следующую команду:
$ git tag v0.9 v1.0
Отправить теги в удалённый репозиторий
По умолчанию git push не отправляет теги; нужно явно отправлять теги.
git push origin <tagname>
Отправить все теги:
git push origin --tags
Удалить легковесный тег
Удалить локально:
git tag -d <tagname>
Удалить удалённо:
git push origin --delete <tagname>
Аннотированные теги
Аннотированные теги хранят имя создателя, email, дату и могут содержать информацию о теге. Аннотированные теги более формальны и подходят для сценариев, требующих дополнительных метаданных.
Синтаксис создания аннотированных тегов:
git tag -a <tagname> -m "message"Например:
git tag -a <tagname> -m "example.com标签"
Команда создания тега с PGP-подписью:
git tag -s <tagname> -m "example.com标签"
Просмотр информации о теге:
git show <tagname>
Пример
Ниже приведён комплексный пример, демонстрирующий создание, просмотр, отправку и удаление тегов.
Создание легковесных и аннотированных тегов:
git tag v1.0 git tag -a v1.1 -m "example.com标签"
Просмотр тегов и информации о тегах:
git tag git show v1.1
Отправка тегов в удалённый репозиторий:
git push origin v1.0 git push origin v1.1 git push origin --tags # 推送所有标签
Удаление тега
Удалить локально:
git tag -d v1.0
Удалить удалённо:
git push origin --delete v1.0Другие расширения