Często widzimy informacje o wersji danego programu w postaci v 1.2.3 albo 4.0.2 itp. Dzięki nadawaniu konkretnej wersji naszej aplikacji mamy pokazaną czytelną historię naszych prac. Git udostępnia dodawanie znaczników (ang. tags) i na nich się dziś skupimy. Zapraszam 🙂
Znaczniki
W Git mamy dwa rodzaje znaczników znaczniki opisane (ang. annotated tags) i znaczniki lekkie (ang. lightweight tags).
Znaczniki opisane składają się z:
- danych autora
- daty utworzenia
- komentarza
- SHA-1 rewizji
Znaczniki lekkie zawierają tylko skrót rewizji SHA-1.
Różnicą między tymi dwoma znacznikami jest taka, że znaczniki opisowe są zapisywane w bazie danych .git w postaci rewizji. Znaczniki lekkie są zapisywane w plikach tekstowych w folderze .git/refs/tags.
Tworzenie znaczników opisanych
Do utworzenia znacznika opisanego należy wykonać komendę
git tag -a NAZWA -m KOMENTARZ
Na przykład
git tag -a v1.0.2 -m "Wydanie wersji 1.0.2"
Wywołanie powyższej komendy wskazuję na ostatnią rewizję w projekcie. Jeżeli chcemy wybrać konkretną rewizję, to na końcu komendy należy dodać SHA-1, np
git tag -a NAZWA -m KOMENTARZ SHA-1
git tag -a v1.0.3 -m "Wydanie wersji 1.0.3" 01sd2azq
Znaczniki opisane muszą być unikatowe, próba dodania takiego samego znacznika zakończy się błędem.
Tworzenie znaczników lekkich
Do utworzenia znacznika lekkich należy wykonać komendę
git tag NAZWA
Na przykład
git tag v4.2.5
Wywołanie powyższej komendy wskazuję na ostatnią rewizję w projekcie. Jeżeli chcemy wybrać konkretną rewizję, to na końcu komendy należy dodać SHA-1, np
git tag NAZWA SHA-1
git tag -a v1.0.3 ffs82a5t
Znaczniki lekkie muszą być unikatowe, próba dodania takiego samego znacznika zakończy się błędem.
Usuwanie znacznika
Do usunięcia znaczników należy wykonać komendę
git tag -d NAZWA
Powyższą komendą usuwamy znaczniki lekkie oraz oznaczone.
Wyświetlanie znaczników
Poleceniem
git tag
wyświetla wszystkie znaczniki w projekcie, lekkie jak i oznaczone.
Do wyświetlenie szczegółowych danych odnośnie znacznika, użyjemy
git show -s v1.0.3
Generowanie plików odpowiadających konkretnej wersji projektu
Polecenie
git archive
Służy do wygenerowania skompresowanych plików projektu. Dzięki znacznikom uzyskujemy wygodę generowania takiej paczki. Przykład
git archive --format=zip --output=WygenerowanyPlikTag 1.0.3
albo za pomocą SHA-1
git archive --format=zip --output=WygenerowanyPlikSHA f632c72de2f1122d783a52u4089e13f3e28e27e7
Dzięki powyższym przykładom możemy w szybki i łatwy sposób wygenerować paczkę plików z konkretnej rewizji albo wersji oznaczonej tagiem.
Podsumowanie
Osobiście nigdy nie miałem okazji używania znaczników, ale nie oznacza to, że ich używać nie zamierzam 🙂 Gdy po patrzy się chwilę na repozytoria jQuery, czy Linuxa to widać pełno znaczników z wersjami. Na pewno ustawianie znaczników ułatwia sprawę przy wersjonowaniu aplikacji.
Pozdro 🙂