Blog technologiczny od 2014 · 1 111 wpisów
RSS

git tag – czy są tagi w git i jak z nimi pracować?

Gdy pracujesz z Gitem, prędzej czy później pojawi się potrzeba wyodrębnienia jakiegoś etapu prac — na przykład nowej funkcjonalności albo poprawki błędu. Warto wtedy oznaczyć taki moment w historii projektu, by móc łatwo do niego wrócić. Pomogą Ci w tym tagi.

W oficjalnej dokumentacji Git przeczytamy:

Podobnie jak większość systemów kontroli wersji, Git pozwala na oznaczanie ważnych punktów w historii. Najczęściej użytkownicy używają tagów do oznaczania istotnych wersji kodu (np. wersja 1.0, itd.).

W projektach Node.js często stosuje się wersjonowanie Semantic Versioning (SemVer). To standardowy sposób nadawania numerów wersji dla oprogramowania. Format wersji to X.Y.Z, gdzie:

  • X – wersja główna (major)
  • Y – nowe funkcje (feature)
  • Z – poprawki błędów (fix)

Podobne podejście stosuje się także w innych technologiach.

Info

Wersjonowanie ułatwia stosowanie Conventional Commits, dzięki którym łatwiej określić, jaka wersja powinna zostać opublikowana.

W tym poradniku pokażę Ci, jak sprawdzić tagi w Gicie i jak z nich korzystać.

Jak sprawdzić tag w Git

Aby odbić się od konkretnega tagi w Git, użyj polecenia git checkout z nazwą tagu oraz nazwą nowej gałęzi:

zsh
$ git checkout tags/<tag> -b <branch>

Upewnij się wcześniej, że masz aktualną listę tagów z repozytorium zdalnego.

Aby je pobrać, użyj komendy:

zsh
$ git fetch --all --tags

Fetching origin
From git-repository
   98a14be..7a9ad7f  master     -> origin/master
 * [new tag]         v1.0       -> v1.0

Załóżmy, że chcesz sprawdzić tag „v1.0” i utworzyć gałąź o nazwie „release”.

Tagi są obiektami w Gicie, więc można do nich wracać, podobnie jak do commitów czy gałęzi.

Wykonaj:

zsh
$ git checkout tags/v1.0 -b v1.0-branch

Switched to a new branch 'v1.0-branch'

W ten sposób przełączyłeś się na nową gałąź utworzoną z tagu „v1.0”.

Możesz sprawdzić historię commitów komendą:

zsh
$ git log --oneline --graph

* 53a7dcf (HEAD -> v1.0-branch, tag: v1.0) Version 1.0 commit
* 0a9e448 added files
* bd6903f (release) first commit

Super! Teraz możesz kontynuować pracę na nowej gałęzi, zaczynając od wskazanego tagu.

Jak sprawdzić najnowszy tag w Git?

Czasem chcesz sprawdzić, jaki jest najnowszy dostępny tag w repozytorium.

Najpierw pobierz najnowsze tagi z repozytorium zdalnego:

zsh
$ git fetch --tags

Fetching origin
From git-repository
   98a14be..7a9ad7f  master     -> origin/master
 * [new tag]         v2.0       -> v2.0
 * [new tag]         v1.0       -> v1.0

Jak widzisz, pobierasz wszystkie dostępne tagi.

Aby znaleźć najnowszy, użyj komendy git describe

zsh
$ tag=$(git describe --tags `git rev-list --tags --max-count=1`)

$ echo $tag
v2.0

Teraz sprawdź najnowszy tag, tworząc nową gałąź:

zsh
$ git checkout $tag -b latest

Switched to a new branch 'latest'

Gotowe! Utworzyłeś nową gałąź na podstawie najnowszego tagu.

Dla pewności możesz sprawdzić historię commitów:

zsh
$ git log --oneline --graph

* 7a9ad7f (HEAD -> latest, tag: v2.0, origin/master, master) version 2 commit
* 98a14be Version 2 commit
* 53a7dcf (tag: v1.0, v1.0-branch) Version 1.0 commit
* 0a9e448 added files
* bd6903f (branch3) first commit

Mam nadzieję, że ten poradnik wyjaśnił trochę pracę z tagami w GIT. Jeżeli uważasz, że coś nie zostało dobrze wyjaśnione lub potrzeba więcej przykładów, to zapraszam do komentowania.

Opublikowano · Znalazłeś błąd? Napisz
Piotr Cichosz
Autor

Od ponad 10 lat jestem zaangażowany w świat elektroniki użytkowej, zdobywając szeroką wiedzę i doświadczenie w testowaniu oraz recenzowaniu najnowszych technologii. Moja kariera obejmuje pracę w wiodących firmach technologicznych, gdzie specjalizowałem się…

Czytaj dalej
← Poprzedni Jak zamienić bloga (WordPress) czy inną stronę na wersję żałobną (na szybko i bez dramatu w CSS)?