Zanim zaczniemy cykl nauki programowania, kilka słów wyjaśnienia. Moim skromnym zdaniem, w Internecie jest już wystarczająco dużo kursów silących się na poważny ton i słowa, których nie rozumie połowa czytających. Osobiście chciałabym osiągnąć taki poziom wytłumaczenia tematu, że dowolna osoba, która potrafi się posługiwać komputerem na tyle, by rozumieć, czym jest folder i plik, oraz zna angielski w stopniu podstawowym, będzie potrafiła zrozumieć, o czym tutaj mowa.
W kursie będą się także pojawiać spolszczenia i kolokwializmy, których powszechnie używa się w pracy, ale które mogą razić oczy polonistów. To powiedziawszy – zapraszam do nauki!
Git – co to i z czym to się je?
Przed rozpoczęciem kodowania jakiegokolwiek projektu, czy to gry bądź strony, będziemy potrzebować miejsca na nasze nowe dzieło. W przypadku osób piszących dla samych siebie, bez konieczności współpracy z innymi, wystarczyłoby założyć sobie osobny folder na pulpicie i do niego wrzucać wszystkie potrzebne pliki. Jeżeli jednak chcielibyśmy współpracować z kimkolwiek i jednocześnie programować to samo dzieło, mielibyśmy spory problem. Tutaj z pomocą przychodzi git, czyli system kontroli wersji. Tłumacząc na bardziej ludzki język – jeżeli zapiszemy swoje dzieło, a następnie pięć zapisów później dojdziemy do wniosku, że chcemy się jednak cofnąć do pierwszej wersji kodu, to z pomocą gita będziemy w stanie odtworzyć pierwotną wersję. Najważniejszą zaletą gita, o której należy pamiętać, pozostaje jednak stworzenie możliwości do pracy nad tym samym kodem, kilku osobom naraz.
Żeby wielu programistów mogło razem programować jeden projekt, zostaje on zapisany w repozytorium, gdzie każda osoba z zespołu może wejść, obejrzeć jak obecnie wygląda kod, pobrać go na swój komputer i dalej nad nim pracować czy poprawić go, a następnie odesłać poprawioną wersję. Jest to wygodne rozwiązanie także z perspektywy osoby pracującej solo – jeżeli jutro zepsuje Ci się komputer, będziesz mógł bez problemu ściągnąć swój projekt z repozytorium i nie martwić się, że cała Twoja praca zniknęła bez śladu.
Nasze repozytoria, będziemy przechowywać na Githubie, jednym z najpopularniejszych miejsc, w których programiści trzymają swoje projekty, by pochwalić się nimi światu bądź po prostu wygodnie nad nimi pracować. W tym celu, na stronie Github.com, musimy stworzyć konto użytkownika (bezpłatne wystarczy) i gotowe, możemy zakładać nasz pierwszy projekt. Klikamy więc wielki zielony przycisk “New” i uzupełniamy dane. Nasze dziecko musi się jakoś nazywać, więc wybieramy mu imię i decydujemy czy chcemy, by każdy mógł obejrzeć nasz projekt. Osobiście zalecam opcję publicznego repozytorium – dzięki temu będziemy mogli w przyszłości łatwo pokazać rekruterom, jak pracowaliśmy nad tym dziełem, jego ostateczny wygląd, a nawet postęp prac. Powiedziałabym wręcz, że będzie nam to niezbędne przy szukaniu pracy, bo w przypadku juniora bez wyższego wykształcenia w kierunku programowania, żaden rekruter nawet się nie pochyli nad CV, w którym nie ma linka do konta na Githubie.
Można powiedzieć, że konto na Githubie, będzie niczym nasza wizytówka. Z tego powodu, ważne jest, by nie robić śmietnika z naszego zbioru repozytorium. Nie twórzmy bezsensownie dziesiątek pustych projektów z myślą “a, bo kiedyś zrobię coś takiego, to już sobie stworzę repo”. Nazywajmy projekty logicznie i w taki sposób, by się kiedyś ich nie wstydzić, gdyby jakiś rekruter do nich zajrzał. Dobrze także od razu dodać krótki opis, który da ogólny pogląd dowolnej osobie, co robi, bądź będzie robił nasz kod.
Jak pracować z projektem w gicie?
Do obsługi naszego repozytorium potrzebujemy kilku podstawowych komend. Zanim jednak je poznamy, konieczne będzie zainstalowanie klienta Gita na naszej maszynie. W tym celu musimy przejść TUTAJ i pobrać odpowiednią wersję, zależnie od posiadanego przez nas systemu. Dopiero po instalacji możemy przejść do rzeczy, czyli do konsoli poleceń vel terminala. Poznajmy się z wersją macOS:
Ot, czarne okienko, w które będziemy wpisywać polecenia dla naszego komputera, żeby coś zrobił z naszym projektem. W zasadzie można powiedzieć, nic specjalnego, a tyle możemy osiągnąć z jego pomocą! Aby uruchomić tę skarbnicę, wystarczy, abyś a) znalazł ikonkę Terminala w swoim Launchpadzie, jeżeli jesteś posiadaczem macbooka, bądź b) wyszukał Wiersz Poleceń w menu start, gdy pracujesz na Windowsie. Znalezione? To możemy przystąpić do nauki poleceń.
Aby móc się dzielić naszą pracą, niezbędna będzie umiejętność dodawania plików do naszego świeżo utworzonego repozytorium. Stwórzmy sobie nasz pierwszy plik readme, w którym kiedyś zawrzemy istotne dla projektu informacje. Dla celów naukowych, a także z mojej wygody i lenistwa, znajduje się na Biurku (macOS–owej nazwie dla Pulpitu, ale generalnie jest to to samo). Nie jest to jednak dobra praktyka i od razu uczulam, by dla każdego projektu tworzyć sobie osobny folder. By być w stanie dodać readme, konieczna będzie znajomość ścieżki pliku, czyli inaczej mówiąc – jego adresu na naszym komputerze. W moim przypadku będzie to /Users/Snow/Desktop/readme.txt. Jeżeli chcemy pobrać ścieżkę naszego pliku, to na MacBooku wystarczy kliknąć interesujący nas plik, po czym wcisnąć kombinację klawiszy CMD, ALT i C jednocześnie. Możemy sobie ją teraz wkleić do jakiegoś pliku tekstowego, jeżeli się boimy, by nam nie zginęła. Na Windowsie sprawa jest jeszcze prostsza – wystarczy przytrzymać klawisz SHIFT i kliknąć prawym przyciskiem myszy na plik, po czym wybrać opcję “Skopiuj jako ścieżkę”.
Mamy ścieżkę, w końcu możemy dodać plik do repozytorium. Otwieramy więc konsolę poleceń i wpisujemy komendę cd razem ze ścieżką naszego pliku zakończoną na ostatnim folderze (w tym przypadku jako folder rozumiemy pulpit). U mnie będzie to wyglądało tak:
W ten sposób będziemy mogli działać na plikach, które znajdują się w danej lokalizacji, a więc także na naszym pliku readme. Zaczynamy więc zabawę z gitem od komendy git init, która utworzy nam lokalne repozytorium, na naszym komputerze, w miejscu, w którym aktualnie się znajdujemy. Stąd będziemy przesyłać dane do naszego repozytorium założonego na Githubie. Jeżeli więc nie pamiętasz, jak nazwałeś swoje pierwsze repo – warto to teraz sprawdzić.
Dodajemy readme do repozytorium – w tym celu wpisujemy komendę git add wraz z nazwą naszego pliku i jego rozszerzeniem:
Wiemy już co i skąd będziemy kopiować, toteż czas na poznanie najważniejszych komend. Będziemy komitować i puszować!
Git commit, git push
Komitowanie (commit) to nic innego jak zmiana w naszym projekcie. Bardzo istotna komenda, która pozwala nam na zapisanie obecnego stanu naszego projektu wraz z komentarzem. Spróbujmy więc wykonać nasz pierwszy commit, wraz z adekwatnym opisem:
Mamy to? Gratulacje, zrobiłeś swój pierwszy w życiu commit! Na tym jednak nie kończymy – teraz musimy nasz commit wypuszować (znaczy się dodać) do repozytorium na Githubie. Wpierw jednak łączymy się z naszym repo za pomocą komendy git remote add origin, do której dopisujemy adres naszego folderu na Githubie. Jest to czynność jednorazowa – w przyszłości nie będziemy potrzebowali tej komendy, gdy będziemy chcieli dodać kolejne pliki do tego repozytorium. Teraz możemy użyć komendy git push:
Przy próbie połączenia się z naszym zdalnym repozytorium, konsola zapyta nas o nazwę użytkownika oraz hasło, które służą nam do logowania się na githubie. Śmiało podajmy je i nie przejmujmy się, jeżeli w trakcie wpisywania hasła nie będzie widać żadnych znaków czy gwiazdek. To tak ma działać, jako dodatkowe zabezpieczenie. Teraz możemy sprawdzić na Githubie czy udało się nam wszystko dodać tak, jak trzeba. Jeśli tak, to w naszym repozytorium zobaczymy świeżo dodany plik wraz z opisem naszego commita:
GIT – Wersja dla leniwych
Skoro umiemy już dodawać pliki do naszego repozytorium jak prawdziwy programista, to teraz poznajmy sposoby na ułatwienie sobie życia. Przede wszystkim – pliki możemy dodać chociażby przeciągając je do naszego repo:
Dużo lepszą i łatwiejszą opcją będzie jednak zainstalowanie jednego z wielu dostępnych klientów gita. Są to programy, które ułatwiają zarówno komitowanie, jak i poprawianie zmian, gdyby jednak poszło nam coś nie tak. Osobiście używam do tego programu Sourcetree, nic jednak nie stoi na przeszkodzie, abyś pracował z innym, bardziej Ci odpowiadającym.
Praca domowa
- Przede wszystkim – poćwicz zdobytą dzisiaj wiedzę.
- Istnieje także jeszcze jeden sposób tworzenia repozytorium – tworzymy je zdalnie na Githubie, po czym klonujemy na nasz komputer. Spróbuj się zapoznać z tą metodą. Na pewno będzie Ci dużo łatwiej to zrobić i zrozumieć, jeżeli wpierw zapoznasz się z dostępnymi klientami do pracy z gitem. Znajdź odpowiedni dla siebie, znacząco ułatwi i przyspieszy Ci pracę.
- Ten artykuł to zaledwie wierzchołek góry lodowej, dlatego proponuję, abyś poczytał o innych, popularnych komendach – merge, checkout, rebase, stash, fetch, status. W samodzielnej pracy mogą nie być Ci potrzebne, jednak z czasem, gdybyś zechciał tworzyć projekt z kimś, będą niezbędne. W przypadku wątpliwości – będziemy je wyjaśniać.