Sobes.tech
Junior — Middle

Wyjaśnij różnice między poleceniami commit, branch i tag w systemie kontroli wersji.

sobes.tech AI

Odpowiedź od AI

W systemach kontroli wersji (np. Git) polecenia commit, branch i tag pełnią różne funkcje:

  • commit — zapisuje zmiany w repozytorium. Każdy commit zawiera migawkę aktualnego stanu plików, wiadomość opisującą zmiany oraz unikalny identyfikator (hash). Commity tworzą historię projektu.

  • branch — to wskaźnik na określony commit, reprezentujący odrębną gałąź rozwoju. Gałęzie pozwalają na równoległą pracę nad różnymi funkcjami lub poprawkami, nie zakłócając głównej gałęzi.

  • tag — to etykieta wskazująca na konkretny commit i zwykle używana do oznaczania wydań lub ważnych wersji. W przeciwieństwie do gałęzi, tagi zazwyczaj się nie zmieniają.

Przykład:

  • Wykonano kilka commitów z zmianami.
  • Utworzono gałąź feature dla nowej funkcji.
  • Po zakończeniu pracy, gałąź feature została scalona z main.
  • Na commit odpowiadający wydaniu nałożono tag v1.0.

W ten sposób, commit to jednostka zmian, branch to równoległa linia rozwoju, a tag to oznaczenie ważnych punktów w historii.