Git Flow

Tworzysz kod, ale nie używasz systemu kontroli wersji? To chyba gorsze niż pisanie pracy magisterskiej bez zapisywania dokumentu co 10 – 15 minut. Oczywiście można, ale po co dokładać sobie pracy? W tym artykule przedstawię najprostszy według mnie sposób na korzystanie z systemu kontroli wersji na własny użytek. Będzie to omówienie najczęściej wykorzystywanych, przynajmniej przeze mnie funkcjonalności Gita. Warto nadmienić, że Git nie jest jedynym systemem kontroli wersji, ale na pewno bardzo popularnym i łatwym w obsłudze. W zestawie z Gitem korzystam również z GitHub, który też nie jest jedyną możliwością. Tyle tytułem wstępu. Zapraszam do treści artykułu.

Instalacja Gita

W zależności od systemu, instalacja będzie przebiegała trochę inaczej, ale na pewno nie należy do skomplikowanych. W systemach Linux instalację wykonujemy za pomocą polecenia sudo apt-get install git. W systemie Windows ściągamy plik instalacyjny ze strony https://git-scm.com/ i instalujemy Gita za pomocą wbudowanego instalatora. Nie mam pojęcia jak wygląda instalacja Gita na MacOS.

Podczas instalacji warto zwrócić uwagę na jeden element, żeby później nie dostać zawału. Domyślnym edytorem dla gita jest VIM (zmora początkujących). Można jednak w trakcie instalacji wybrać inny edytor np.: Nano (dla Linuxa), Notepad++ (dla Windowsa) lub po prostu swój edytor kodu (jeżeli jest na liście). Pozostałe elementy instalacyjne można pozostawić tak jak są, jeżeli nie chcemy na początek się w nie zagłębiać. 

Niektórzy szkoleniowcy polecają doinstalowanie rozszerzeń do terminala, dzięki którym przyspieszymy wprowadzanie komend dla programu Git. Ja osobiście znalazłem dużo łatwiejsze i według mnie szybsze rozwiązanie. Do pisania kodu wykorzystuję VS Code, który ma wbudowane rozszerzenie do obsługi systemu kontroli wersji. Działa świetnie i do podstawowych operacji jest wystarczające. Operacje niestandardowe wykonuję w konsoli, ale nie na tyle często, żeby zajmować się konfigurowaniem dodatków do terminala. Co prawda próbowałem skorzystać z tych rozszerzeń, ale w Windows to zadanie okazało się dość kłopotliwe.

Po zainstalowaniu gita otrzymujemy możliwość uruchomienia konsoli  Git  Bash. Warto na pocątku dodać do gita swój user name i adres email. W konsoli Git Bash wydajemy następujące polecenia:

Git config –global user.name Imię Nazwisko

Git config –global user.email mój@adres.email

Przełącznik global ustawia wprowadzone dane jako domyślne dla każdego projektu. Można je zmienić na inne w konkretnym projekcie.

GitHub

Mamy już gita w wersji lokalnej, którego możemy uruchomić w dowolnym katalogu za pomocą komendy git init. Najfajniejsze opcja jednak polega na tym, że można założyć sobie zdalne repozytorium, żeby mieć do niego niezależny dostęp z różnych maszyn. Co więcej to świetna kopia zapasowa projektów nad którymi pracujemy. Jak wspomniałem we wstępie GitHub to nie jedyne miejsce, gdzie można trzymać repozytorium. Nie chodzi mi nawet o inne serwisy typu GitLab, bo do trzymania repo poza maszyną świetnie nadaje się również Dropbox. W tym artykule chciałbym się jednak skupić na serwisie GitHub.

Założenie konta na https://github.com/ jest darmowe. Po założeniu konta przychodzi czas na skonfigurowanie komunikacji pomiędzy GitHub, a lokalnym Gitem. Na początek warto założyć testowe repo na GitHub, a następnie sklonować je na lokalną maszynę. W tym celu po utworzeniu repo na GitHub klikamy buton „Clone or download” wtedy pojawi nam się link do skopiowania. Teraz przechodzimy do Git bash na naszej maszynie i wpisujemy komendę git clone /link z github/

Git skopiuje repo na nasz dysk, ale najpierw poprosi o dane do logowania. Dokładnie o to nam chodziło. Po podaniu loginu i hasła git połączy się ze zdalnym repo i je ściągnie, ale co ważniejsze windows zapamięta nasze hasło i od teraz będziemy mogli już bez podawania loginu i hasła ściągać repo, pracować na nim i wysyłać zmiany na Git Hub za pomocą komendy git push.

Podstawowe komendy Git do wykorzystania na co dzień:

Git clone – to komenda pozwalająca skopiować repozytorium wprost ze zdalnego repo.

Git add – dodaje plik z wprowadzonymi zmianami do „pamięci tymczasowej” którą można utrwalić za pomocą komendy git commit;

Git commit – pozwala zapisać stan repozytorium w danym momencie. Bazuje na tym, co dodaliśmy do stanu tymczasowego za pomocą komendy git add.

Git push – pozwala wysłać stan naszego lokalnego repozytorium do zdalnego repozytorium.

Git pull – pobiera zmiany wprowadzone na zdalnym repo w stosunku do naszego lokalnego repo.

Git fix – pozwala „połączyć” dwa commity w jeden, kiedy coś chcemy poprawić w już wysłanym commicie, lub czegoś zapomnieliśmy dodać do wysłanego commita.

Podsumowując

Tylko tyle potrzeba do rozpoczęcia pracy z gitem. Oczywiście można inaczej skonfigurować gita, ale czy na początek nie chodzi bardziej o to, żeby szybko zainstalować Gita i oswoić się z jego działaniem? Według mnie dobrze jest zacząć od podstaw, złapać jakiś rytm pracy, a potem zagłębiać się bardziej   zgodnie z potrzebami. Sam osobiście co jakiś czas odkrywam nowe możliwości Gita, a to właśnie z tego powodu, że czegoś akurat potrzebuję.

Krzysztof NyrekGit Flow