Git tutorial - jak zacząć z Git

Git tutorial - jak zacząć z Git

Przedstawiam Ci przygotowany przeze mnie krótki Git tutorial. Skierowany jest on głównie do osób początkujących. Zapraszam do zapoznania się z tematem!

System kontroli wersji jest na dzień dzisiejszy standardowym narzędziem pracy każdego programisty. Rzeczą wymaganą jest biegła znajomość posługiwania się tym narzędziem, więc czym prędzej zapoznaj się z tym tematem!

 

Spis treści

  1. System kontroli wersji
  2. GitHub
  3. SourceTree
  4. Szybki start z GitHub i SourceTree
  5. Co dalej

 

1. System kontroli wersji

Wikipedia podaje:

System kontroli wersji (ang. version/revision control system) – oprogramowanie służące do śledzenia zmian głównie w kodzie źródłowym oraz pomocy programistom w łączeniu zmian dokonanych w plikach przez wiele osób w różnym czasie.

Tłumacząc tą definicję na prosty język system kontroli wersji tworzy historię zmian, których dokonaliśmy w kodzie. Nie ma w tym żadnej magii, wszystko opiera się na plikach tekstowych (w których jest Twój kod) i ich porównywaniu.

Istnieje parę rodzajów systemów kontroli wersji:

  1. Lokalne
  2. Rozproszone
  3. Scentralizowane

Skupimy się na typie rozproszonym i najbardziej popularnym systemem kontroli wersji – Git (nie ważne, gdzie pójdziesz pracować na 98% będą używać tam Git’a). Rozproszony system kontroli wersji oznacza, że kod jest przytrzymywany lokalnie u każdego z deweloperów. Jeżeli wprowadzisz w kodzie jakieś zmiany robisz je lokalnie. Po zatwierdzeniu zmian wysyłasz kod do repozytorium, a następnie wszyscy pozostali programiści pobierają Twoje zmiany i mergują (łączą) je ze swoimi lokalnymi modyfikacjami.

Co daje nam historia zmian w kodzie?

Przede wszystkim możliwość wrócenia do poprzedniej wersji, gdy okaże się, że nowe zmiany coś popsuły lub celem nowych zmian było tylko sprawdzenie na szybko jakiegoś konceptu – jest to bardzo istotne i wykorzystuje się tą możliwość bardzo, bardzo często w codziennej pracy programisty. Możemy oczywiście również przeglądać co i kiedy robili nasi koledzy 😉

2. GitHub

Portal, gdzie przetrzymywane jest repozytorium kodu oraz za pośrednictwem którego możemy wymieniać się zmianami z innymi deweloperami. GitHub ma dodatkowo wiele innych funkcji, jak choćby podgląd zmian, przeglądanie projektów, czy zarządzanie całym repozytorium z poziomu przeglądarki internetowej.

3. SourceTree

Narzędzie zapewniające graficzny interfejs użytkownika do pracy z systemem kontroli wersji Git. „Oryginalnie” z Git’a korzysta się za pośrednictwem konsoli jednak na początek moim zdaniem łatwiej jest zacząć z graficznym interfejsem (więcej widzisz, więc szybciej poukładasz sobie to w głowie). SourceTree oczywiście nie jest narzędziem jedynie na początek, sam korzystam z niego w codziennej pracy.

4. Szybki start z GitHub i SourceTree

Przedstawię Ci teraz, jak szybko rozpocząć pracę z Git’em, GitHub’em oraz SourceTree. Zaczynajmy!

Portal GitHub

Wchodzimy na stronę GitHub’a i wybieramy opcję „Sign up” (oznaczenie nr 1). Po wybraniu tej opcji powinien pojawić się formularz rejestracyjny podobny do tego poniżej.GitHubWypełniamy wymagane pola – Username, Email Address oraz Password i naciskamy „Create an account”. Następnie zostaniemy przekierowani do kroku drugiego. Możemy tutaj zostawić wybrane opcje domyśle tzn. „unlimited public repositories for free” ponieważ jest to darmowy typ konta. (możemy tworzyć tylko publiczne repozytoria co oznacza, że każdy będzie mógł przeglądać nasz kod. Jeżeli bardzo Ci to przeszkadza to możesz skorzystać z portalu BitBucket, gdzie za darmo można tworzyć prywatne repozytoria – GitHub jest bardziej popularny)

GitHubNaciskamy „Continue” i przechodzimy do kroku trzeciego. Możemy tutaj wyklikać parę informacji na nasz temat i nacisnąć „submit” lub całkowicie pominąć ten krok naciskając „skip this step”.

GitHubBył to ostatni krok procesu rejestracji. Powinien pojawić się nam następujący widok. To co nas interesuje to opcja „Start a project”, aby móc ją wybrać trzeba w między czasie potwierdzić swój adres email.

GitHubPo wybraniu opcji „Start a project” pojawi się nam formularz służący do stworzenia nowego repozytorium kodu. Musimy podać nazwę naszego repozytorium (oznaczenie nr 1) reszta rzeczy może zostać wybrana domyślnie. Naciskamy „Create repository”.

Wskazałem również (oznaczenie nr 2) jak można dostać się do formularza tworzenia nowego repozytorium z górnego paska.

SourceTreePo stworzeniu repozytorium zostajemy do niego przekierowani. Jest to miejsce gdzie będzie przetrzymywany nasz kod. W tym momencie jeszcze nic w nim nie ma, dlatego wyświetlanych jest parę podpowiedzi jak zacząć pracę. To co nas interesuje to link do repozytorium (oznaczenie nr 1), który należy skopiować.

SourceTree

SourceTree

W tym momencie przechodzimy do narzędzia SourceTree, które możesz pobrać z tej strony. Podczas instalacji programu trzeba stworzyć konto podając swój login, hasło, email itd. (założenie konta jest niestety konieczne). Po instalacji odpalamy program. Pierwszą rzeczą jaką musimy zrobić to sklonowanie repozytorium z portalu GitHub na nasz dysk twardy. W tym celu wybieramy opcję Clone/New (oznaczenie nr 1). Następnie w miejscu (oznaczenie nr 2) wklejamy wcześniej skopiowany link ze strony GitHub. Ostatnim krokiem jest ewentualna zmiana ścieżki Destination Path (ścieżka na dysku) i naciśnięcie Clone (oznaczenie nr 3).

SourceTreePo chwili pobieranie repozytorium powinno się zakończyć. Jeżeli to nastąpi możemy przejść do danej ścieżki na dysku twardym, gdzie powinno pojawić się nasze repozytorium. Na początek jest tam tylko ukryty folder .git. Możemy od razu wrzucić tam jakiś plik (obojętnie jaki, może być zwykły .txt).

git tutorialPo wrzuceniu pliku do folderu (naszego repozytorium lokalnego) wracamy do programu SourceTree. Widoczny mamy widok naszego repozytorium. W dolnej sekcji (oznaczenie nr 1) widzimy zmiany, które są jeszcze niepotwierdzone. Za każdym razem, gdy dokonasz jakiejś zmiany w repozytorium (dodasz, zmodyfikujesz, usuniesz plik) dana zmiana pojawi się właśnie w tej sekcji.

SourceTreeAby przejść do kolejnego kroku musimy przerzucić plik ze zmianami z dolnej sekcji do górnej. Możemy to zrobić zaznaczając checkbox po lewej stronie pliku. Gdy zmiany, które chcemy zatwierdzić są już w górnej sekcji (oznaczenie nr 1) przystępujemy do wpisania krótkiego komentarza czego dotyczą zmiany (oznaczenie nr 2). Po wpisaniu komentarza wykonujemy commit (oznaczenie nr 3)

SourceTreePo wykonaniu commita mamy ostatecznie zatwierdzone zmiany jednak znajdują się one dalej wyłącznie na naszym komputerze. Aby były one widoczne na portalu GitHub musimy wykonać push’a. W tym celu wybieramy w górnym menu opcję Push (oznaczenie nr 1), następnie zaznaczamy checkbox (oznaczenie nr 2) i naciskamy ok (oznaczenie nr 3).

SourceTreeWykonanie push’a może zając chwilę. Gdy się wykona możemy wrócić do portalu GitHub i naszego repozytorium. Odświeżmy stronę, aby zobaczyć, czy nasze zmiany trafiły do repozytorium. Widok powinien przypominać ten poniżej. W tym momencie możemy podejrzeć zmiany z poziomu przeglądarki, sprawdzić ile zostało wrzuconych plików do repozytorium itd.

GitHub

Zakończenie

To był ostatni krok. Możesz wykonywać kolejne zmiany lokalnie, commitować i wrzucać kod do repozytorium. Masz pewność, że zawsze możesz cofnąć się wstecz, gdy będzie taka potrzeba. Również w razie usterki komputera Twoja praca nie przepadnie. Będzie czekała spokojnie na portalu GitHub. Mając już kod na GitHub’ie możesz pokazać go innym lub zacząć wspólnie pracować z innymi deweloperami nad jednym projektem.

5. Co dalej

Omówiliśmy sobie podstawy związane z systemem kontroli wersji Git, portalem GitHub oraz narzędziem SourceTree. Skupiliśmy się głównie na pracy w pojedynkę i z tego powodu nie poruszyliśmy tematu merge’ów, bez którego nie da się obejść w pracy zespołowej – warto rozszerzyć swoją wiedzę o ten temat. Nie jest to trudne zagadnienie ponieważ dotyczy łączenia zmian pomiędzy deweloperami, gdy pisali kod w tym samym czasie i tej samej okolicy (plik, linie). Przykładowo w narzędziu SourceTree w znacznej części merge wykonuje się automatycznie.

Wykorzystaliśmy portal GitHub oraz narzędzi SourceTree, oczywiście istnieje wiele innych narzędzi do systemu kontroli wersji Git, z których można korzystać. Innym bardzo znanym portal podobnym do GitHub jest BitBucket, a SourceTree może zostać zastąpione klasyczną konsolą Git.

Podsumowując bazowymi i najważniejszymi pojęciami są:

  1. Clone
  2. Merge
  3. Commit
  4. Push
  5. Revert

Inne pojęcia, o których warto poczytać:

  1. Branch
  2. Stash
  3. Fork
  4. Cherry pick