Пояснення тегу Git: Як створити список, створити, видалити та показати теги в Git

Позначення дозволяє розробникам позначати важливі контрольно-пропускні пункти в процесі розробки своїх проектів. Наприклад, версії програмного забезпечення можуть бути позначені тегами. (Приклад: v1.3.2) По суті, це дозволяє вам присвоїти коміту спеціальне ім'я (тег).

Щоб переглянути всі створені теги в алфавітному порядку:

git tag

Щоб отримати більше інформації про тег:

git show v1.4

Існує два типи тегів:

Коментована

git tag -a v1.2 -m "my version 1.4"

Легкий

git tag v1.2

Вони відрізняються способом зберігання.

Вони створюють теги для вашого поточного коміту.

У випадку, якщо ви хочете позначити попередній коміт, вкажіть ідентифікатор коміту, який ви хочете позначити:

git tag -a v1.2 9fceb02

Імена тегів можна використовувати замість ідентифікаторів комітів під час перевірки та надсилання комітів до віддаленого репо.

Більше інформації:

  • Документація Git: Документація
  • Розділ тегів Git: Книга

Ви можете перерахувати всі доступні теги в проекті за допомогою git tagкоманди (зауважте, що вони відображатимуться в алфавітному порядку):

$ git tag v1.0 v2.0 v3.0

Цей спосіб розміщення тегів чудово підходить для невеликих проектів, але більші проекти можуть мати сотні тегів, тому вам може знадобитися відфільтрувати їх під час пошуку важливого моменту в історії. Ви можете знайти мітки , які містять певні символи додавання -lдо git tagкоманді:

$ git tag -l "v2.0*" v2.0.1 v2.0.2 v2.0.3 v2.0.4

Створіть тег

Ви можете створити два типи тегів: анотовані та легкі. Перші з них є конкуруючими об’єктами в базі даних GIT: вони отримують контрольну суму, вимагають повідомлення (наприклад, коміти) та зберігають інші важливі дані, такі як ім’я, електронна пошта та дата. З іншого боку, легкі теги не потребують повідомлення або зберігають інші дані, працюючи просто як вказівник на певну точку проекту.

Створіть анотований тег

Щоб створити анотований тег, додайте -a tagname -m "tag message"до git tagкоманди:

$ git tag -a v4.0 -m "release version 4.0" $ git tag v1.0 v2.0 v3.0 v4.0

Як бачите, -aвказує, що ви створюєте анотований тег, після йде ім'я тегу і, нарешті, -mслідує повідомлення тегу для зберігання в базі даних Git.

Створіть полегшений тег

Легкі теги містять лише контрольну суму коміту (інша інформація не зберігається). Щоб створити його, просто запустіть git tagкоманду без будь-яких інших параметрів (символи -lw у кінці імені використовуються для позначення легких тегів, але ви можете їх позначити як завгодно):

$ git tag v4.1-lw $ git tag v1.0 v2.0 v3.0 v4.0 v4.1-lw

Цього разу ви не вказали повідомлення чи інші відповідні дані, тому тег містить лише контрольну суму згаданого коміту.

Перегляд даних тегу

Ви можете запустити git showкоманду для перегляду даних, що зберігаються в тезі. У випадку анотованих тегів ви побачите дані тегів та дані комітів:

$ git show v4.0 tag v4.0 Tagger: John Cash  Date: Mon Sat 28 15:00:25 2017 -0700 release version 4.0 commit da43a5fss745av88d47839247990022a98419093 Author: John Cash  Date: Fri Feb 20 20:30:05 2015 -0700 finished details

Якщо тег, який ви спостерігаєте, є полегшеним тегом, ви побачите лише дані згаданих комітів:

$ git show v1.4-lw commit da43a5f7389adcb9201ab0a289c389ed022a910b Author: John Cash  Date: Fri Feb 20 20:30:05 2015 -0700 finished details

Позначення старих комітів

Ви також можете позначити минулі коміти за допомогою коміту git tag. Для цього вам потрібно буде вказати контрольну суму коміту (або принаймні її частину) у командному рядку.

Спочатку запустіть git log, щоб дізнатися необхідну контрольну суму коміту:

$ git log --pretty=oneline ac2998acf289102dba00823821bee04276aad9ca added products section d09034bdea0097726fd8383c0393faa0072829a7 refactorization a029ac120245ab012bed1ca771349eb9cca01c0b modified styles da43a5f7389adcb9201ab0a289c389ed022a910b finished details 0adb03ca013901c1e02174924486a08cea9293a2 small fix in search textarea styles

Коли вам потрібна контрольна сума, додайте її в кінці рядка створення тегу:

$ git tag -a v3.5 a029ac

Ви побачите, що тег був правильно доданий git tag:

$ git tag v1.0 v2.0 v3.0 v3.5 v4.0 v4.1-lw

Натискання тегів

Git не натискає теги за замовчуванням під час запуску команди git push. Отже, щоб успішно проштовхнути тег на сервер, вам доведеться виконати git push originкоманду:

$ git push origin v4.0 Counting objects: 14, done. Delta compression using up to 8 threads. Compressing objects: 100% (16/16), done. Writing objects: 100% (18/18), 3.15 KiB | 0 bytes/s, done. Total 18 (delta 4), reused 0 (delta 0) To [email protected]:jcash/gitmanual.git * [new tag] v4.0 -> v4.0

You can also use the --tags option to add multiple tags at once with the git push origin command:

$ 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 [email protected]:jcash/gitmanual.git * [new tag] v4.0 -> v4.0 * [new tag] v4.1-lw -> v4.1-lw

Checking out Tags

You can use git checkout to checkout to a tag like you would normally do. But you need to keep in mind that this would result a detached HEAD state.

$ git checkout v0.0.3 Note: checking out 'v0.0.3'. 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.

Deleting a Tag

You may find a situation were you want to delete a certain tag. There’s a very useful command for this situations:

$ git tag --delete v0.0.2 $ git tag v0.0.1 v0.0.3 v0.0.4

More Information

  • Git Pro - Tagging Basics
  • Git Pro - Documentation
  • Git HowTo
  • Git tip: Tags
  • Creating a tag

Sources

Git documentation: tags