Czym są znaczniki wydania w Git i jak ich używasz?

Czym są znaczniki wydania w Git i jak ich używasz?

Śledzenie wydań oprogramowania jest skomplikowanym zadaniem, a Git pomaga nim zarządzać. Korzystając z systemu tagowania Git, możesz tworzyć wersjonowane numery wydań, które wskazują na konkretne zatwierdzenia, i używać ich w automatyzacji CI/CD do publikowania wydań.

Tagowanie wydań w Git

Znaczniki Git są bardzo podobne do gałęzi Git. Są to etykiety wskazujące na określone zatwierdzenia i mogą być używane do sprawdzania repozytorium w określonym momencie. Jednak w przeciwieństwie do gałęzi, nie mają one być aktualizowane ani zmieniane i zawsze wskazują na konkretną wersję.

Znaczniki są powszechnie używane do przypisywania numerów wersji do określonych wydań, zwykle przy użyciu semantycznego formatu wersjonowania (Major.Minor.Patch). Jest to bardzo przydatne do śledzenia wydań, zwłaszcza gdy pojawiają się problemy i wdrożenia muszą zostać przywrócone do poprzedniego tagu, którego działanie zostało potwierdzone.

Tagi są również używane do sygnalizowania potokom CI/CD, że wydanie powinno zostać opublikowane. Niektóre repozytoria mogą chcieć opublikować „najnowsze” wydanie dla każdego pojedynczego zatwierdzenia, zwłaszcza gdy uruchamiane są tylko testy dla gałęzi programistycznych. Znaczniki są często używane, aby potoki CI wersji były uruchamiane i wdrażane tylko wtedy, gdy jest to wyraźnie wymagane.

Gdy wypchniesz do pilota, takiego jak GitHub, twoje tagi pojawią się na karcie Wydania, co pozwala każdemu sklonować lub pobrać repozytorium z tego tagu.

Możesz wyewidencjonować określone tagi za pomocą tego git checkoutpolecenia, w ten sam sposób, w jaki działa wyewidencjonowanie gałęzi.

git checkout v1.0.0

Tworzenie tagów

Tworzenie prostego tagu jest bardzo łatwe. Będziesz musiał sprawdzić zatwierdzenie lub gałąź, którą chcesz oznaczyć, a następnie uruchomić git tagz nazwą znacznika.

git checkout master

git tag v1.0.0

Jednak powszechną praktyką jest używanie tagów z adnotacjami, które umożliwiają ustawienie opisu i przechowywanie dodatkowych danych o tym, kto je utworzył i kiedy, podobnie jak robią to zatwierdzenia.

git tag -a v1.0.0 -m "New Release Version - Summary"

Możesz także oznaczyć wcześniejsze zatwierdzenia bez ich sprawdzania:

git tag -a v1.2 commit_id

Tagi nie są wypychane do zdalnych urządzeń, takich jak GitHub, za pomocą domyślnego polecenia wypychania Git. Musisz uruchomić go za pomocą --tagslub ręcznie wcisnąć nazwę tagu.

git push origin --tags

Usuwanie i edycja tagów

Tagi również można usunąć, ale ważne jest, aby wziąć pod uwagę, że usunięcie tagów ze zdalnych serwerów może namieszać innym współpracownikom w twoim repozytorium. Jednakże, ponieważ tak naprawdę nie edytujesz historii Git, jest to w większości jak usunięcie starej gałęzi, która nie dotyka rzeczywistych zatwierdzeń.

Możesz usuwać tagi według nazwy z -dflagą:

git tag -d v1.0.0

I usuń je z pilota za pomocą:

git push origin --delete v1.0.0

Aby edytować tag, możesz użyć -fflagi, aby zmusić Git do zastąpienia istniejącego tagu:

git tag -f v1.0.0

Tworzenie wydań na GitHub

GitHub obsługuje również tagi, ale rozszerza je o własny system „Wydań”. Zwolnienia mogą być wykonane z tagów, ale mogą być również wykonane z dowolnego konkretnego zatwierdzenia lub z bieżącym HEAD dowolnej gałęzi.

Głównym celem publikowania wydań jest udostępnianie gotowych plików binarnych do pobrania, co jest bardzo przydatne w GitHub, ale same tagi tego nie zapewniają. W przeciwnym razie użytkownicy nadal musieliby sklonować określony tag i zbudować go ze źródła.

Innym celem jest dokumentowanie informacji o wersji, a GitHub Releases obsługuje również przecenę. Zapewnia to użytkownikom przyjemne miejsce do przewijania wydań i obserwowania dużych zmian wersji w czasie.

Tworzenie wydania jest dość łatwe. Na pasku bocznym swojego repozytorium kliknij „Wersje” i utwórz nowe:

Na tym ekranie możesz wpisać informacje o wydaniu z przecenami oraz przeciągnąć i upuścić pliki binarne dla wydania. GitHub automatycznie udostępni link do kodu źródłowego w tym tagu.

Możesz także automatycznie tworzyć wydania na podstawie tagów za pomocą GitHub Actions. Oszczędza to każdorazowego przesyłania plików binarnych, co jest niezłym elementem automatyzacji repozytorium.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *