Na co mi ten cały Git?

☕️ 6 min

Spodziewać by się można, że wystarczy nauczyć się jednego języka i już zostajesz programistką. Życie niestety nie jest tak kolorowe. Przy temacie nauki programowania, przewija się wiele narzędzi. W pierwszej chwili od ich ilości może rozboleć głowa. Zupełnie niepotrzebnie, gdyż po pierwsze nikt nie każe się nam uczyć wszystkich na raz. Po drugie, one nie zostały wymyślone po to, żeby nam życie utrudnić. Są, żeby nam pomagać!

Na co mi ten cały Git?

Niezależnie jakiego języka zaczęłaś się uczyć, na pewno przewinęło Ci się przed oczami narzędzie Git. Zanim powiesz sobie: dobra, dobra, najpierw muszę się nauczyć kodować, później się tym zajmę przeczytaj artykuł do końca i dowiedz się jak to narzędzie może Ci pomóc już na samym początku.

Czym jest Git?

Wikipedia pisze:

Git to rozproszony system kontroli wersji.

Prościej mówiąc, Git służy do kontrolowania zmian w projekcie. Przechowuje ich historię i daje możliwość podejrzenia plików projektu w dowolnym momencie czasu, a także zobaczenia co od tej pory zmieniło się. Taki trochę wehikuł czasu 🚀.

Kiedy Git się przydaje?

Fajnie, można podróżować w czasie, ale w zasadzie po co?

Ile razy udało Ci się coś zakodować, a później coś pozmieniać i nagle przestało działać? No właśnie. Szukanie po omacku może okazać się czasochłonne. A gdyby tak móc zobaczyć co się zmieniło pomiędzy tym momentem jak działało, a gdy nie działa?

Oczywiście poszukiwanie błędów w kodzie to tylko jedna z wielu możliwości wykorzystania Gita.

Współdzielone projekty

Jejku, pamiętam te czasy na początku studiów, kiedy realizując projekt w zespole dzieliliśmy się pracą, a tuż przed oddaniem trzeba było posklejać kod w jedną całość. Ileż wtedy wychodziło niedoróbek! 😬

Gdybym wtedy wiedziała czym jest Git… I znała jego główną zaletę jaką jest możliwość współpracy wielu osób przy jednym projekcie…

Jak to w zasadzie działa? Każda z osób pobiera kod na swój komputer i na nim pracuje. W momencie, gdy skończy, synchronizuje swoje zmiany.

Git

Autor zdjęcia: Yancy Min

Zanim jednak wszystko wyląduje we wspólnym kodzie, takie zmiany mogą wymagać przejrzenia przez innych członków zespołu. To nic innego jak często stosowana praktyka nazywana code review, czyli etap, kiedy programiści dostają informację zwrotną na temat swojego kodu. Super ważny, bo dzięki temu mamy szanse się rozwijać.

Oprócz informacji co i kiedy zostało zmienione, Git zapisuje też kto danych modyfikacji dokonał. Zatem, jak masz pytania do autorki lub autora konkretnej części kodu, możesz sprawdzić kto to jest.

Jednoosobowy projekt

No dobrze, ale pracuje nad moim projektem sama. Albo w ogóle dopiero zaczynam się uczyć programować. Po co mi ten git?

Myślisz sobie pewnie, że za dużo jest tych rzeczy na początek. Że najlepiej się skupić na nauce języka. Chcę Cię przekonać, że im wcześniej poznasz gita tym szybciej nie będziesz sobie wyobrażała życia bez niego.

Kopia zapasowa

Podobno ludzie dzielą się na tych co robią kopie zapasowe i tych co będą je robić 😉. Dyski są zawodne, wiadomo. Zamiast kopiować swój pierwszy projekt na dysk przenośny, albo trzymać go w chmurze i nieustannie zmieniać nazwę folderu projekt-v1, projekt-v2 itd. możesz wykorzystać Gita.

W definicji, którą przytoczyłam wcześniej pojawia się słowo rozproszony. Polega to na tym, że kopie kodu (zwane repozytorium) mogą znajdować się w różnych miejscach, a sam Git umożliwia synchronizację miedzy nimi.

Najczęściej pracuje się ze zdalnym repozytorium. Wtedy główna kopia kodu znajduje się na serwerze. A każda osoba, która modyfikuje kod, ma swoją lokalną kopię u siebie na komputerze.

Czyli, będąc jedyną osobą, która zmienia kod to jedna jego kopia jest na serwerze, a druga na Twoim komputerze. Zmniejszasz w ten sposób ryzyko, że z jakieś losowej przyczyny stracisz swój kod.

Możliwość podzielenia się kodem

Realizujesz jakiś kurs, w którym masz opiekę mentora? Kiedy chcesz go zapytać o swój kod, nie musisz mu go przeklejać. Wystarczy, że używasz zdalnego repozytorium i dasz mentorowi dostęp do niego.

Portfolio Twoich projektów

Podobnie, jak zaczynasz szukać swojej pierwszej pracy. Dołączasz link np. do GitHuba, który staje się w tym momencie Twoim portfolio. Masz tam wszystkie swoje projekty (a przynajmniej te, którymi warto się chwalić). Czym jest GitHub wyjaśniam poniżej w sekcji Git a GitHub.

Sama często przeglądam GitHub kandydatek i kandydatów. I od razu widać, czy ktoś wrzucił wszystko co miał na raz, tuż przed wysłaniem CV, czy też robił to na bieżąco! Zgadnij która kandydatka czy kandydat wypada lepiej w tym zestawieniu 😉.

Wrzucanie zmian na bieżąco ma taką zaletę, że nie musisz potencjalnemu pracodawcy udowadniać, że znasz gita. Otwiera Twojego GitHuba i ma jasny dowód, że umiesz się nim posługiwać.

Inne systemy kontroli wersji

Git nie jest jedynym systemem kontroli wersji, ale obecnie jest najbardziej popularny, a jego znajomość spokojnie Ci wystarczy. W swojej programistycznej pracy miałam jeszcze styczność z SVN-em, ale dość szybko przenieśliśmy na Gita.

Git a GitHub

Są to zupełnie inne byty, jednak często bywają ze sobą mylone, zwłaszcza przez początkujących.

Git jest całym tym systemem do kontrolowania zmian w plikach projektu, natomiast GitHub to nic innego jak rozbudowana platforma, której głównym zadaniem jest hosting repozytorium, czyli przechowywanie głównej kopii kodu źródłowego.

GitHub

Autor zdjęcia: Brina Blum

GitHub ma też kilka dodatkowych funkcji, które ułatwiają codzienną pracę. Umożliwia podgląd zmian, czy przeprowadzanie wcześniej wspomnianego code review. Jego niewątpliwą zaletą jest też ogrom dostępnych wtyczek i możliwość integracji z innymi narzędziami.

GitHub jest niewątpliwie najbardziej popularnym hostingiem oprogramowania open source . Czyli na tzw. otwartej licencji, gdzie kod źródłowy jest ogólnodostępny.

Przez długi czas jedyną opcją na posiadanie darmowych repozytoriów na GitHubie była konieczność ich upublicznienia. Na szczęście jakiś czas temu wprowadzono możliwość darmowego posiadania nieograniczonej ilości repozytoriów prywatnych. Co za tym idzie, chętniej jest wykorzystywany w prywatnych projektach, których nie chcemy upubliczniać. W taki sposób przechowuję właśnie kod źródłowy do tego bloga 😉.

Inne hostingi Gita

Zamiast GitHuba można używać innych platform oferujących podobne funkcjonalności, takich jak: Bitbucket, GitLab, SourceForge, GitKraken i pare innych.

Programy do obsługi Gita

Żeby obsługiwać Gita wystarczy sama konsola. Bardzo polecam takie rozwiązanie, bo daje największą kontrolę nad tym co robimy. Kilka prostych komend i możemy z powodzeniem zacząć go używać na co dzień.

Istnieją też aplikacje z przyjaznym interfejsem użytkownika. Jeżeli przeraża Cię terminal (chociaż bardzo zachęcam!) to możesz użyć aplikacji Sourcetree.

Podsumowanie

Jak widzisz korzystanie z Gita nawet w jednoosobowych projektach ma wiele zalet. Zrozumienie zasad jego działania i regularna praktyka może iść w parze z nauką języka, a zdobyte dzięki temu kompetencje są doceniane na rynku pracy.

Na koniec mam do Ciebie prośbę. Planuję zorganizowanie pewnego wprowadzenia do Gita. Jeszcze nie wiem czy w formie wyzwania, krótkiego szkolenia online, czy w jeszcze innej formie. Chciałabym, żebyś dzięki temu zaczęła używać Gita w swoich projektach (już w trakcie nauki). Jeśli więc jesteś czymś takim zainteresowana koniecznie daj mi znać co byś chciała po takim wprowadzeniu umieć!

Zostańmy w kontakcie

Odbieraj materiały i informacje, które pomogą Ci zadbać o swój rozwój i karierę programistki. Uzupełnij swoje dane i zapisz się na newsletter.