Git: работа с тэгами
Тэги используются для того, чтобы сделать отметку в развитии проекта - что-то типа вехи или контрольной точки.
Тэги бывают легкими и аннотированными. Легкий тэг - это просто некоторое название, строка, которая указывает на конкретный коммит. Аннотированный тэг содержит не только название, но и дату, имя и адрес автора и т.п., то есть более подробную информацию.
Если не указать, к какому коммиту добавляется тэг, он будет добавлен к последнему. Если нужно указать тэг для определенного коммита (а это удобно, т.к. можно тэгировать коммита постфактум), то нужно указать идентификатор коммита или первые шесть символов идентификатора.
Далее - несколько примеров команд использования тэгов.
Просмотреть список тэгов:
Кстати, тэги отображаются также рядом с идентификаторами коммитов в выводе команды
git log.
Добавить легкий тэг к последнему коммиту:
Добавить легкий тэг к выбранному коммиту:
Добавить аннотированный тэг:
Отобразить содержимое коммита по тэгу:
Удалить тэг:
Удалить можно также и тэг из произвольного коммита. Для этого укажите его идентификатор, как выше, в примере с добавлением тэга.
Интересно, что по-умолчанию тэги не пушатся вместе с файлами проекта. Чтобы явно передать на удаленный репозиторий тэг, выполните:
Но чтобы таким образом не пушить отдельно каждый тэг, можно передать сразу все:
Ну и чтобы перейти к тэгу, выполните:
Но здесь руководство предостерегает. Если перейти к тэгу, получив версии файлов и затем внести в них изменения, то когда после мы выполним пуш, будет создан коммит вне всяких веток. Найти его можно только по идентификатору и перейти к нему также можно будет только по идентификатору. Получается такой коммит-сирота. Руководство рекомендует в случаях, когда вам требуется внести изменения в одном из прошлых коммитов - создавать ветку от того места.