Diversity w polskim IT
 Marek Zoellner
Codemy S.A.
Marek ZoellnerCodemy S.A.

Git dla początkujących, czyli jak efektywnie pracować w teamie

Sprawdź, jak zainstalować oraz zacząć używać Gita, aby efektywnie pracować w swoim teamie.
23.09.20204 min
Git dla początkujących, czyli jak efektywnie pracować w teamie

Umiejętność pracy w zespole to jedna z kluczowych umiejętności dobrego programisty. Jednym z absolutnie podstawowych narzędzi, które pozwala to robić efektywnie i bezkonfliktowo, jest Git. Niby to oczywiste, ale czy umiesz go używać?

Git to system kontroli wersji, który dając nam zestaw bardzo przydatnych funkcjonalności, pozwala nam się poruszać po całej historii tworzonego kodu

- tłumaczy Patryk Buła, mentor w szkole programowania online Kodilla.com, gdzie opiekuje się studentami kursów Web Developer, Front-end, Advanced Vanilla JavaScript oraz TypeScript. Na co dzień pracuje również w dużej firmie programistycznej jako Software Engineer. Najbardziej pasjonują go projekty, które prowadzi od zera, dzięki temu dokładnie wie, jak wielką rolę odgrywają w całym procesie takie narzędzia jak Git.

Jeśli coś uszkodzimy, wrzucimy na repozytorium jakiegoś babola, okazuje się nieoceniony. Ale nie tylko, bo choć można go wykorzystywać podczas pracy indywidualnej, największej wartości nabiera podczas współpracy z innymi programistami. Gdy zadanie polega na łączeniu poszczególnych elementów kodu w całość.

Git - jak zacząć?

W celu skorzystania z tego programowania, należy przejść na stronę Gita, pobrać go i zwyczajnie zainstalować, pozostawiając przy tym ustawienia domyślne.


Następnie musimy poznać podstawowe komendy, czyli: git add, git commit, git push.

Jak tłumaczy Patryk, w tym przypadku można zastosować analogię do wysyłania przesyłek kurierem. add wybiera elementy kodu, które chcemy przesłać, commit-m dodaje je do odpowiedniego kartonika, który podpisujemy nazwą zawieranych zmian, natomiast push niczym kurier wysyła je na serwer.

Następnie zakładamy podstawowe repozytorium lokalne, z którego będziemy wypychać dane na serwer. Trzeba też uruchomić terminal Git Bash, a także stworzyć kod SSH, który ułatwi dostęp wypychania danych, co pomaga, żeby przy każdym pushu nie trzeba było wpisywać swojego loginu i hasła.

Po utworzeniu kodu SSH będziemy musieli jeszcze przenieść go na stronę Githuba, gdzie zostanie wklejony w ustawienia tak, żebyśmy mogli swobodnie przenosić swoje dane…

Dużo informacji, ale spokojnie. Jeśli dopiero zaczynasz, na poniższym filmie, Patryk wytłumaczy Ci wszystko jeszcze raz, krok po kroku, pokazując na ekranie, co należy zrobić :)

Projektowe “koło życia”

Typowym workflowem dla pracy w teamie jest “koło życia”. Wszystkie zmiany, które są ważne dla nas i całego projektu trzymamy sobie na zdalnym branchu “Master” on się znajduje na zdalnym repozytorium. To kod, w przypadku którego mamy pewność, że jest poprawny i nie uszkodzi nam aplikacji.

Ten workflow chroni nas przed dostaniem się błędów na główny branch. Polega on na tym, że zmiany przekazywane są w konkretnej kolejności. Cały główny kod znajduje się na zdalnym masterze. Następnie za pomocą komendy “git pull” jest pobierany na nasz lokalny branch, na którym dokonujemy zmian. Po pobraniu zmian ze zdalnego mastera za pomocą komendy “git pull” możemy stworzyć sobie już własny branch na którym będziemy pracować

- wyjaśnia Patryk.

Po stworzeniu takiego brancha będziemy go musieli wypchnąć a następnie utworzyć “pull requesta”, który będzie za zgodą reszty teamu przekazywał zmiany już do tego zdalnego mastera. 

Na filmie powyżej widzicie m.in. symulację pracy w teamie (dwa branche - nasz i kolegi, oba wychodzące z brancha master), a także dwa podstawowe sposoby łączenia kodu. Pierwszym z nich to Rebase, który łączy wszystkie zmiany w odpowiedniej chronologii ich utworzenia. Drugi sposób to Merge, który kończy się utworzeniem jednego wspólnego commita, będącego połączeniem naszych zmian oraz zmian z mastera.

Czasami reset jest nieunikniony

Bywa, że podczas pracy z Gitem okazuje się, że pewne zmiany, które wypchnęliście dzisiaj, wczoraj, albo jeszcze wcześniej, nie działają tak jak powinny. Ktoś coś uszkodził, ktoś postawił o jeden krok za dużo, a zamiast liczyć, ile było tych kroków i kto to zrobił, efektywniej będzie po prostu się trochę cofnąć.

W takich sytuacjach najlepiej usunąć część dokonanych zmian i zacząć od nowa. Za pomocą komendy git log sprawdzamy, który commit jest najbardziej aktualny i na jakim etapie zmian jesteśmy, wyświetlamy wszystkie commity, łącznie z tymi mergującymi. Jeżeli uznamy, że np. dwa ostatnie mogą powodować błędy wpisujemy komendę:

git reset HEAD^^


Gdzie liczba trójkątnych daszków oznacza liczbę commitów, które chcemy skasować. Albo… robimy twardy reset:

git reset HEAD^^ --hard


I w kosmos lecą wszystkie zmiany, a my zaczynamy całą pracę od nowa.

Miejmy jednak nadzieję, że to będzie ostateczność, a wszystkie protipy Patryka w pracy z Gitem oszczędzą Wam takich problemów i pozwolą wspólnie z innymi członkami zespołu stworzyć w pełni funkcjonalny, bezbłędny i czysty kod :)

Właśnie w taki sposób uczymy dobrych praktyk i pracy zespołowej podczas szkoleń Kodilli. Nasi Kursanci, zdobywają umiejętności programistyczne zarówno podczas pracy z dedykowanym Mentorem, ale także realizując zadania grupowe, w teamie. Tylko w ten sposób mogą się bowiem przygotować w odpowiedni sposób do tego, co czeka ich na rynku pracy w startupach, software house’ach, korporacjach czy też łapiąc zlecenia na własny rachunek.

Bez względu na formę i rozmiary, każdy z nich szybko się przekona, że praca w zespole jest git.

<p>Loading...</p>