13. Создание тегов версий
Давайте назовем текущую версию страницы hello первой (v1).
01 Создайте тег первой версии
Выполните:
git tag v1
Теперь текущая версия страницы называется v1.
02 Теги для предыдущих версий
Давайте создадим тег для версии, которая идет перед текущей версией и назовем его v1-beta. В первую очередь нам надо переключиться на предыдущую версию. Вместо поиска по хэшу, мы будем использовать ^ , обозначающее «родитель v1».
Если обозначение v1^ вызывает у вас какие-то проблемы, попробуйте также v1~1 , указывающее на ту же версию. Это обозначение можно определить как «первую версию предшествующую v1».
Выполните:
git checkout v1^ cat hello.html
Результат:
$ git checkout v1^ Note: checking out 'v1^'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at 8c32287. Added standard HTML page tags $ cat hello.html Hello, World!
Это версия c тегами и , но еще пока без . Давайте сделаем ее версией v1-beta.
Выполните:
git tag v1-beta
03 Переключение по имени тега
Теперь попробуйте попереключаться между двумя отмеченными версиями.
Выполните:
git checkout v1 git checkout v1-beta
Результат:
$ git checkout v1 Previous HEAD position was 8c32287. Added standard HTML page tags HEAD is now at fa3c141. Added HTML header $ git checkout v1-beta Previous HEAD position was fa3c141. Added HTML header HEAD is now at 8c32287. Added standard HTML page tags
04 Просмотр тегов с помощью команды tag
Вы можете увидеть, какие теги доступны, используя команду git tag .
Выполните:
git tag
Результат:
$ git tag v1 v1-beta
05 Просмотр Тегов в логах
Вы также можете посмотреть теги в логе.
Выполните:
git hist master --all
Результат:
$ git hist master --all * fa3c141 2011-03-09 | Added HTML header (v1, master) [Alexander Shvets] * 8c32287 2011-03-09 | Added standard HTML page tags (HEAD, v1-beta) [Alexander Shvets] * 43628f7 2011-03-09 | Added h1 tag [Alexander Shvets] * 911e8c9 2011-03-09 | First Commit [Alexander Shvets]
Вы можете видеть теги ( v1 и v1-beta ) в логе вместе с именем ветки ( master ). Кроме того HEAD показывает коммит, на который вы переключились (на данный момент это v1-beta ).
2.6 Основы Git — Работа с тегами
Как и большинство других систем контроля версий, Git имеет возможность помечать определённые моменты в истории как важные. Как правило, эта функциональность используется для отметки моментов выпуска версий (v1.0, и т. п.). Такие пометки в Git называются тегами. В этом разделе вы узнаете, как посмотреть имеющиеся теги, как создать новые или удалить существующие, а также какие типы тегов существуют в Git.
Просмотр списка тегов
Просмотреть список имеющихся тегов в Git можно очень просто. Достаточно набрать команду git tag (параметры -l и —list опциональны):
$ git tag v1.0 v2.0
Данная команда перечисляет теги в алфавитном порядке; порядок их отображения не имеет существенного значения.
Так же можно выполнить поиск тега по шаблону. Например, репозиторий Git содержит более 500 тегов. Если вы хотите посмотреть теги выпусков 1.8.5, то выполните следующую команду:
$ git tag -l "v1.8.5*" v1.8.5 v1.8.5-rc0 v1.8.5-rc1 v1.8.5-rc2 v1.8.5-rc3 v1.8.5.1 v1.8.5.2 v1.8.5.3 v1.8.5.4 v1.8.5.5
Примечание
Для отображение тегов согласно шаблону требуются параметры -l или —list
Если вы хотите посмотреть весь список тегов, запуск команды git tag неявно подразумевает это и выводит полный список; использование параметров -l или —list в этом случае опционально.
Если вы хотите отфильтровать список тегов согласно шаблону, использование параметров -l или —list становится обязательным.
Создание тегов
Git использует два основных типа тегов: легковесные и аннотированные.
Легковесный тег — это что-то очень похожее на ветку, которая не изменяется — просто указатель на определённый коммит.
А вот аннотированные теги хранятся в базе данных Git как полноценные объекты. Они имеют контрольную сумму, содержат имя автора, его e-mail и дату создания, имеют комментарий и могут быть подписаны и проверены с помощью GNU Privacy Guard (GPG). Обычно рекомендуется создавать аннотированные теги, чтобы иметь всю перечисленную информацию; но если вы хотите сделать временную метку или по какой-то причине не хотите сохранять остальную информацию, то для этого годятся и легковесные.
Аннотированные теги
Создание аннотированного тега в Git выполняется легко. Самый простой способ — это указать -a при выполнении команды tag :
$ git tag -a v1.4 -m "my version 1.4" $ git tag v0.1 v1.3 v1.4
Опция -m задаёт сообщение, которое будет храниться вместе с тегом. Если не указать сообщение, то Git запустит редактор, чтобы вы смогли его ввести.
С помощью команды git show вы можете посмотреть данные тега вместе с коммитом:
$ git show v1.4 tag v1.4 Tagger: Ben Straub Date: Sat May 3 20:19:12 2014 -0700 my version 1.4 commit ca82a6dff817ec66f44342007202690a93763949 Author: Scott Chacon Date: Mon Mar 17 21:52:11 2008 -0700 Change version number
Здесь приведена информация об авторе тега, дате его создания и аннотирующее сообщение перед информацией о коммите.
Легковесные теги
Легковесный тег — это ещё один способ пометить коммит. По сути, это контрольная сумма коммита, сохранённая в файл — больше никакой информации не хранится. Для создания легковесного тега не передавайте опций -a , -s и -m , укажите только название:
$ git tag v1.4-lw $ git tag v0.1 v1.3 v1.4 v1.4-lw v1.5
На этот раз при выполнении git show для этого тега вы не увидите дополнительной информации. Команда просто покажет коммит:
$ git show v1.4-lw commit ca82a6dff817ec66f44342007202690a93763949 Author: Scott Chacon Date: Mon Mar 17 21:52:11 2008 -0700 Change version number
Отложенная расстановка тегов
Также возможно помечать уже пройденные коммиты. Предположим, история коммитов выглядит следующим образом:
$ git log --pretty=oneline 15027957951b64cf874c3557a0f3547bd83b3ff6 Merge branch 'experiment' a6b4c97498bd301d84096da251c98a07c7723e65 Create write support 0d52aaab4479697da7686c15f77a3d64d9165190 One more thing 6d52a271eda8725415634dd79daabbc4d9b6008e Merge branch 'experiment' 0b7434d86859cc7b8c3d5e1dddfed66ff742fcbc Add commit function 4682c3261057305bdd616e23b64b0857d832627b Add todo file 166ae0c4d3f420721acbb115cc33848dfcc2121a Create write support 9fceb02d0ae598e95dc970b74767f19372d61af8 Update rakefile 964f16d36dfccde844893cac5b347e7b3d44abbc Commit the todo 8a5cbc430f1a9c3d00faaeffd07798508422908a Update readme
Теперь предположим, что вы забыли отметить версию проекта v1.2, которая была там, где находится коммит «Update rakefile». Вы можете добавить тег и позже. Для отметки коммита укажите его контрольную сумму (или её часть) как параметр команды:
$ git tag -a v1.2 9fceb02
Проверим, что коммит отмечен:
$ git tag v0.1 v1.2 v1.3 v1.4 v1.4-lw v1.5 $ git show v1.2 tag v1.2 Tagger: Scott Chacon Date: Mon Feb 9 15:32:16 2009 -0800 version 1.2 commit 9fceb02d0ae598e95dc970b74767f19372d61af8 Author: Magnus Chacon Date: Sun Apr 27 20:43:35 2008 -0700 Update rakefile .
Обмен тегами
По умолчанию, команда git push не отправляет теги на удалённые сервера. После создания теги нужно отправлять явно на удалённый сервер. Процесс аналогичен отправке веток — достаточно выполнить команду git push origin .
$ git push origin v1.5 Counting objects: 14, done. Delta compression using up to 8 threads. Compressing objects: 100% (12/12), done. Writing objects: 100% (14/14), 2.05 KiB | 0 bytes/s, done. Total 14 (delta 3), reused 0 (delta 0) To git@github.com:schacon/simplegit.git * [new tag] v1.5 -> v1.5
Если у вас много тегов, и вам хотелось бы отправить все за один раз, то можно использовать опцию —tags для команды git push . В таком случае все ваши теги отправятся на удалённый сервер (если только их уже там нет).
$ git push origin --tags Counting objects: 1, done. Writing objects: 100% (1/1), 160 bytes | 0 bytes/s, done. Total 1 (delta 0), reused 0 (delta 0) To git@github.com:schacon/simplegit.git * [new tag] v1.4 -> v1.4 * [new tag] v1.4-lw -> v1.4-lw
Теперь, если кто-то клонирует (clone) или выполнит git pull из вашего репозитория, то он получит вдобавок к остальному и ваши метки.
Примечание
git push отправляет оба типа тегов
Отправка тегов командой git push —tags не различает аннотированные и легковесные теги. В настоящее время не существует опции чтобы отправить только лёгковесные теги, но если использовать команду git push —follow-tags , то отправятся только аннотированные теги.
Удаление тегов
Для удаления тега в локальном репозитории достаточно выполнить команду git tag -d . Например, удалить созданный ранее легковесный тег можно следующим образом:
$ git tag -d v1.4-lw Deleted tag 'v1.4-lw' (was e7d5add)
Обратите внимание, что при удалении тега не происходит его удаления с внешних серверов. Существует два способа изъятия тега из внешнего репозитория.
Первый способ — это выполнить команду git push :refs/tags/ :
$ git push origin :refs/tags/v1.4-lw To /git@github.com:schacon/simplegit.git - [deleted] v1.4-lw
Это следует понимать как обновление внешнего тега пустым значением, что приводит к его удалению.
Второй способ убрать тег из внешнего репозитория более интуитивный:
$ git push origin --delete
Переход на тег
Если вы хотите получить версии файлов, на которые указывает тег, то вы можете сделать git checkout для тега. Однако, это переведёт репозиторий в состояние «detached HEAD», которое имеет ряд неприятных побочных эффектов.
$ git checkout v2.0.0 Note: switching to 'v2.0.0'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 99ada87. Merge pull request #89 from schacon/appendix-final $ git checkout v2.0-beta-0.1 Previous HEAD position was 99ada87. Merge pull request #89 from schacon/appendix-final HEAD is now at df3f601. Add atlas.json and cover image
Если в состоянии «detached HEAD» внести изменения и сделать коммит, то тег не изменится, при этом новый коммит не будет относиться ни к какой из веток, а доступ к нему можно будет получить только по его хешу. Поэтому, если вам нужно внести изменения — исправить ошибку в одной из старых версий — скорее всего вам следует создать ветку:
$ git checkout -b version2 v2.0.0 Switched to a new branch 'version2'
Если сделать коммит в ветке version2 , то она сдвинется вперед и будет отличаться от тега v2.0.0 , так что будьте с этим осторожны.
Как создавать теги?
Теги создаются и настраиваются в разделе Настройки > Теги и обращения.
Если вы планируете использовать теги обращений, то их необходимо включить:

Далее необходимо настроить группы тегов. Группы нужны для удобной сортировки тегов и разделения доступа к разным группам.
Чтобы создать группу:

- Выберите раздел Cписок групп тегов > Cоздать группу.
- Введите имя группы и нажмите ОК.
После создания группа появится в списке.

1 — Изменение имени группы(не забудьте подтвердить изменение);
2 — Удаление группы;
3 — Доступ операторам к этой группе тегов.
После создания группы можем приступить к созданию тегов:

- Выберите Список ваших тегов>Создать тег.
- Заполните все поля:

1 — Краткое название тега. Так тег будет отображаться в списке.
2 — Подробное описание, которое будет отображаться при наведении на тег.
3 — Принадлежность к группе тегов. При поиске тега среди остальных, он будет находиться в разделе с выбранной группой.
4 — Цвет фона значка тега.
5 — Цвет краткого названия тега, который будет виден на значке тега.
После создания тега, он появится в списке:

1 — Редактирование тега. Можно изменить все данные, как при создании тега. Не забудьте подтвердить изменения нажатием на зелёную галочку.
2 — Удаление тега.
Подробнее смотрите в нашем видео:
Создание и добавление нового тега
Для того, чтобы отличить один контакт от другого по каким-либо особым свойствам Вы можете добавлять теги. Например, запечатлеть особенность покупателя при выборе продукта для того, что бы при контакте менеджер всегда обращал внимание на эту особенность.
Для начала работы с тегами необходимо зайти в карточку контакта, сделки или компании и нажать кнопку «#тегировать», расположенную сверху, рядом с наименованием. Далее в открывшемся меню можно выбрать тег из уже созданных, либо создать новый тег, начав вводить его название. При вводе тега с клавиатуры учитывается совпадение с уже созданными тегами. Вы всегда можете выбрать тег из списка, либо создать новый, введя его название.

Вы также можете добавить новый тег, зайдя в «Поиск и фильтр», далее «Управление» и там ввести новый тег.
- Последние обновления
- Последние обновления
- Апрель 2017
- Октябрь 2017
- Апрель 2018
- Ноябрь 2018
- Март 2019
- Ноябрь 2019
- Май 2020
- Декабрь 2020
- Зима 2020: Авито.Работа
- Весна 2021: СберБизнес Эквайринг
- Весна 2021: АльфаБизнес Эквайринг
- Весна 2021: Тинькофф Эквайринг
- Весна 2021: Яндекс Метрика
- Апрель 2021
- Осень 2021: Магазин ВКонтакте
- Весна 2022
- Воронка продаж
- Интеграция с сайтом
- Мобильное приложение
- Почта
- Интеграция с телефонией
- Коммуникации
- Digital воронка
- Покупатели
- Виджеты
- Рекомендуемые
- Телефония
- Интеграция с сайтом
- Email и SMS рассылки
- Онлайн чаты
- Полезные сервисы
