Git to system kontroli wersji, czyli narzędzie, które zapisuje pełną historię zmian w kodzie i pozwala wielu programistom pracować nad tym samym projektem bez nadpisywania sobie nawzajem pracy. Każda zmiana ląduje w tak zwanym commicie, czyli zapisanym punkcie z opisem co i po co zostało zrobione. Dzięki temu można cofnąć się do dowolnego momentu w historii projektu, sprawdzić kto dodał daną linijkę i kiedy oraz odtworzyć wersję sprzed błędu.
Jak Git działa w praktyce
Programista pobiera kopię projektu na swój komputer (klon), pracuje lokalnie, a gotowe zmiany wysyła na wspólny serwer, najczęściej GitHub, GitLab albo Bitbucket. Kluczowa jest praca na gałęziach (branchach). Każda nowa funkcja albo poprawka powstaje na osobnej gałęzi, więc główna wersja aplikacji zostaje stabilna, dopóki nowy kod nie zostanie sprawdzony i zatwierdzony. Gdy funkcja jest gotowa, następuje scalenie (merge) z główną wersją. Ten model pozwala kilku osobom pisać różne części systemu równolegle i łączyć efekty bez chaosu.
Co Git daje firmie zamawiającej oprogramowanie
Dla właściciela firmy Git oznacza przede wszystkim bezpieczeństwo i przejrzystość. Kod nie żyje na jednym laptopie, tylko w repozytorium z pełną historią, więc odejście programisty nie blokuje projektu. W Neticat każdy projekt trzymamy w Git od pierwszego dnia, co daje trzy konkretne korzyści. Po pierwsze, w razie awarii po wdrożeniu wracamy do działającej wersji w kilka minut, zamiast łatać kod na produkcji. Po drugie, widać dokładnie kto zrobił co i kiedy, więc rozliczenie prac jest uczciwe i sprawdzalne. Po trzecie, kod można w każdej chwili przekazać innemu zespołowi albo działowi IT klienta, bez uzależnienia od jednej osoby.
Git jest też fundamentem automatycznego wdrażania. Po zatwierdzeniu zmian system sam buduje aplikację, uruchamia testy i wysyła nową wersję na serwer. To skraca czas od pomysłu do działającej funkcji i zmniejsza ryzyko, że coś zepsuje się przy ręcznym wgrywaniu plików. Firma dostaje w efekcie proces, w którym poprawki i nowe funkcje pojawiają się szybciej i w powtarzalny sposób, a każdy krok jest udokumentowany. To standard w profesjonalnym wytwarzaniu oprogramowania i podstawa, na której opiera się cała reszta nowoczesnego procesu produkcji aplikacji.