53

GIT dla początkujących

Uczysz się kodować. Chcesz zrobić swój pierwszy solidny projekt. Stronę internetową, prostą aplikację lub po prostu większy działający kawałek kodu. Nie będzie to łatwe! Wiele projektów umiera w fazie początkowej. Trzeba dużej wytrwałości by doprowadzić swój projekt do końca. Jeśli Ci jej nie brakuje i chcesz kontynuować swoją przygodę z programowaniem, warto skorzystać z narzędzi, […]

Uczysz się kodować. Chcesz zrobić swój pierwszy solidny projekt. Stronę internetową, prostą aplikację lub po prostu większy działający kawałek kodu. Nie będzie to łatwe! Wiele projektów umiera w fazie początkowej. Trzeba dużej wytrwałości by doprowadzić swój projekt do końca. Jeśli Ci jej nie brakuje i chcesz kontynuować swoją przygodę z programowaniem, warto skorzystać z narzędzi, które to ułatwią.

Autorem tego wpisu jest Piotr Zientara. Wykładowca Coder’s Lab.

Jednym z tych narzędzi jest GIT, który służy do kontrolowanego wprowadzania zmian w projekcie. GIT tworzy historię dla folderu z naszą aplikacją i pozwala zarządzać jej wersjami oraz pracować wielu osobom nad jednym projektem. W kontrolowanych przez GITa folderach możemy trzymać wszystko – od projektu aplikacji webowej, pracy doktorskiej czy wspólnie ze znajomymi pisanej książki. Możliwość współpracy jest oczywistą korzyścią, ale po cóż ta nieustanna kontrola nad zmianami? Nie chcielibyśmy by nasza praca jako programisty w większości polegała na szukaniu błędów, które uniemożliwiają pisanie kolejnych linijek kodu. Odkąd GIT zacznie obserwować pliki danej aplikacji wszystkie zmiany będą rejestrowane, co pozwoli na łatwy powrót do poprzedniego działającego stanu, nawet jeśli ctrl+z zawiedzie. Warto dodać, że GIT umożliwia kontakt i wymianę istotnych informacji z repozytoriami zdalnymi (o tym czym są repozytoria przeczytacie w dalszej części tekstu), znajdującymi się poza naszą maszyną. W firmach używany jest przede wszystkim jako system pozwalający pracować wielu osobom nad jednym projektem.

Pierwsze kroki

Zacznijmy od rzeczy podstawowej, czyli założenia pierwszego lokalnego repozytorium dla naszego projektu. Czy jest to trudne? Samo założenie i dokonywanie w nim zmian jest łatwe. Trudność używania GITa wzrasta,gdy zaczyna na nim pracować kilka osób jednocześnie. Trzeba wtedy znać i rozumieć pojęcia takie jak gałęzie, merge i konflikty oraz przynajmniej kilkanaście komend. Na początek, żeby ruszyć z naszym projektem i swobodnie poruszać się po jego historii wystarczy nam jednak nie więcej niż 9 komend. Zanim jednak do nich przejdziemy, warto przyswoić kilka podstawowych pojęć:

  • GIT oryginalnie jest programem działającym z konsoli. Oznacza to, że w czarnym smutnym okienku wpisuje się komendy dla GITa, aby coś zrobił lub wyświetlił interesujące nas informacje. Dla zupełnie początkującej osoby, przyzwyczajenie się do używania terminala może być barierą. Jesteśmy przyzwyczajeni do programów, w których poruszamy się kliknięciami. W terminalu nie klikamy, lecz wpisujemy polecenia na klawiaturze. Po kilku próbach prawdopodobnie stwierdzisz, że wpisywanie komend może być łatwiejsze i przyjemniejsze od szukania odpowiedniego guzika w wielu okienkach wyboru wyskakujących z górnego paska nawigacji. Tym bardziej, że najbardziej przydatnych komend jest naprawdę niewiele.
  • Repozytorium to folder z historią, który jest obserwowany przez GIT. Tam trzymamy naszą aplikację. Repozytorium może być lokalne, na naszej maszynie, ale może być też zdalne, czyli znajdować się np. w chmurze.
  • Commit można zdefiniować jako paczkę zmian, która jest częścią historii danego repozytorium. Od momentu w którym zaczniemy używać GITa praca nad projektem staje się tworzeniem commitów i zarządzaniem nimi.
  • GIT jest bardzo złożonym narzędziem. Umożliwia bardzo wiele i dlatego opanowanie go na poziomie zaawansowanym zwykle osiąga się po wielu miesiącach codziennego używania i poznawania jego możliwości. Nie ma jednak przeszkód by najczęściej stosowanych komend nauczyć się w ciągu kilku godzin. Nawet podstawowa znajomość może bardzo ułatwić pisanie pierwszych projektów.

Dla przykładu, poruszenie się po historii dowolnego istniejącego repozytorium, które możemy pobrać z github.com jest bardzo łatwe. Wystarczą nam do tego dwie komendy:

  • git log, która wyświetli nam nazwy kolejnych commitów od najnowszych do najstarszych, oraz
  • git checkout, do której po spacji należy dodać przynajmniej 4 pierwsze znaki z commit hasha. Jest to długi ciąg znaków, który identyfikuje dany commit. Wyświetla się on przy każdym commicie po wpisaniu git log. Jeśli wprowadzimy komendę poprawnie, otrzymamy odpowiedź, że znajdujemy się w miejscu zdefiniowanym przez commit o danej nazwie.

Podsumowując, GIT mógłby być trudny dla początkującego programisty, który nie znając tej technologii dołączyłby do projektu prowadzonego w nim. Dlatego warto uczyć się stopniowo, powoli poznając kolejne komendy, a GIT szybko zwróci poświęcony na niego czas, oszczędzi wielu frustracji i nieprzespanych nocy. Daj sobie czas na spokojne przetrenowanie każdej komendy. W Internecie można znaleźć wiele filmików poświęconych nauce GITa, także po polsku. Na potrzeby tego tekstu również przygotowałem filmik wprowadzający do GITa: