Ścieżka Kariery Computer Vision – Miesiąc 1. – Git od zera

Git to absolutna podstawa pracy w zespole. A raczej — to absolutna podstawa nawet samodzielnej pracy programisty. Git pozwala na kontrolę wersji. Co to oznacza w praktyce? To, że masz swoją główną wersję programu – tzw. branch (zazwyczaj nazywany master lub main). Na tym branchu chcesz mieć kod, który działa, przechodzi testy i jest gotowy do deploymentu. Ale załóżmy, że musisz dodać jakiś nowy kawałek logiki (ang. feature). Zaczynasz pisać i nagle się okazuje, że Twój nowy kawałek kodu działa (albo i nie), ale zepsuł inną część programu. Co teraz? Jak go wycofać? No nijak — nic nie musisz usuwać, ponieważ Twój nowy kod jest na oddzielnym branchu i nie zmienia nic na branchu master, przynajmniej dopóki go nie „domerdżujesz” za pomocą tzw. Merge Request (a w GitHubie Pull Request – inna nazwa, ta sama funkcjonalność).

Oprócz tego Git ma inne smaczki takie jak cherry-picking, rebasing i (moje ulubione!) Git blame! I dzisiaj zrobimy sobie z tego crash course tak, że od jutra będziesz Git-masterem, który potrafi zrobić merdża z zamkniętymi oczami!

Ale po kolei…

Jak sprawdzić, czy mam Gita?

Odpal terminal lub CommandPrompt i wpisz komendę:

git --version

#powinno wyświetlić coś w stylu: 
#git version 2.XX.X

Jeśli tego nie masz, nie przejmuj się. Git nie jest zainstalowany fabrycznie wraz z systemem operacyjnym. Trzeba go sobie doinstalować i, oczywiście, każdy system ma na to swój sposób.

Instalacja Gita

Windows

Git nie jest zainstalowany i trzeba go pobrać z oficjalnej strony i zainstalować ręcznie. Instalator dodaje Git CLI do terminala, appkę Git Bash (taki pseudo-terminal dla Windowsa) oraz integrację z systemem (np. menu prawym przyciskiem).

Zdaje się, że instalator GitBasha chce też zainstalować menedżera plików Chocolatey, ale można z tego zrezygnować.

MacOS

Git nie jest domyślnie zainstalowany, ale macOS sam Ci go zaproponuje. Wystarczy, że otworzysz terminal i wpiszesz komendę git, by zobaczyć komunikat „Do you want to install the command line developer tools?” Jeśli wybierzesz opcję Install, system zainstaluje narzędzia deweloperskie Apple (Xcode CLI), które zawierają już Gita.

Linux

Odpal terminal i wpisz komendę:

sudo apt update
sudo apt install git

Na koniec jeszcze raz wpisz komendę sprawdzającą zainstalowaną wersję Gita. To powierdzi, że git jest zainstalowany i dodany do ścieżki.

git --version

Konfiguracja Gita

Zanim zaczniesz korzystać z Gita, warto go skonfigurować – dzięki temu Twoje commity będą podpisywane Twoim „username’m” i adresem e-mail. W terminalu wpisz:

git config --global user.name "Twoje Imię"
git config --global user.email "[email protected]"

Pamiętaj, że te informacje będą widoczne dla osób, które zawędrują na Twoje repo w GitHubie, więc wybieraj rozważnie.

Chcesz wgryźć się głębiej w temat konfiguracji? Zajrzyj do podręcznika Git Pro – rozdział 1.6 Wstępna Konfiguracja Gita i rozdział 8.1 Konfiguracja Gita (tylko częściowo przetłumaczony).

Inicjalizacja lokalnego repo

!Uwaga!
Jeśli planujesz korzystać z GitHuba, lepiej nie wykonuj tego kroku i zacznij od utworzenia zdalnego repo (patrz kolejny punkt).

Utworzenie lokalnego repozytorium jest śmiesznie proste. Musisz wejść do folderu, który chcesz wersjonować i wpisać w terminalu komendę:

#sprawdź, czy git jest już zainicjowany
git status

#zainicjuj lokalne repo
git init

Co ważne, jeśli w tym folderze już masz zainicjowane repo, jego ustawienia mogą zostać nadpisane. Dlatego właśnie najpierw sprawdzamy status gita w danym folderze.

Tworzenie zdalnego repozytorium na GitHubie

Trzy największe strony, udostępniające darmowe serwery repozytoriów to GitHub, GitLab i BitBucket. Jednak GitHub jest zdecydowanie najbardziej popularny.

  1. Zaloguj się na https://github.com
  2. Kliknij „+”„New repository”
  3. Wpisz nazwę repozytorium (np. hello-python)
  4. Dodaj pusty plik README.
  5. Wybierz opcję pliku.gitignore (w naszym przypadku Python).
  6. Wybierz licencję (GNU gpl v3)
  7. Kliknij „Create repository”

Gotowe! Twoje repo jest teraz dostępne pod adresem: https://github.com/twoj-login-w-githubie/nazwa-twojego-repo. GitHub przekieruje Cię tam automatycznie.

Kliknij na zielony guzik z napisem <> Code i wybierz zakładkę SSH. Jeśli jeszcze nie masz dodanego klucza, zrób to teraz.

github
#Sprawdź, czy masz już jakieś klucze w folderze ukrytym .ssh.
ls -al ~/.ssh

Jeśli terminal nie wydrukował żadnej zawartości z rozszerzeniem .pub, wykonaj poniższe komendy:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

#Kliknij enter, żeby zapisać klucze jako id_rsa w folderze .ssh

Przejdź do folderu .ssh i wydrukuj na ekranie zawartość klucza publicznego id_rsa.pub

cd
cd .ssh
cat id_rsa.pub

Skopiuj klucz, który wydrukuje się w terminalu. Klucz zaczyna się od ssh-rsa, a kończy na mailu podanym przy generowaniu klucza. Całość dodaj do GitHuba, w zakładce Settings -> SSH and GPG keys -> New SSH key.

I gotowe. Teraz GitHub będzie rozpoznawać Twój komputer jako zaufany.

Klonowanie repo

Wróć do głównej strony swojego repo i ponownie kliknij zielony guzik <> Code -> zakładka SSH.
Skopiuj link zaczynający się od [email protected] i przejdź do terminala.


W terminalu przejdź do folderu rodzica, w którym chcesz mieć folder z lokalnym projektem i wpisz następującą komendę:

#idź do folderu podstawowego
cd

#przejdź do folderu, gdzie chcesz sklonować folder z repo (u mnie do folder "developer"):
cd developer

#sklonuj repo
git clone [email protected]:nazwa-twojego-usera/nazwa-repo

#sprawdź, czy pojawił się nowy folder nazwa-repo
ls

I gotowe. Pamiętaj, by nie tworzyć folderu na swój projekt, bo klonowanie już to robi (i skończysz z podwójnie zagnieżdżonym projektem, co zawsze jest problematyczne).

Git – podstawowe komendy

Twoje repo jest gotowe i połączone z repo zdalnym na GitHubie. Możesz otworzyć swój projekt, dokonać w nim dowolnych zmian, a następnie wypchnąć je na GitHuba.

W praktyce przez 90% czasu będziesz używać 3 komend:

#dodaje wszystkie zmienione pliki wewnątrz projektu:
git add .

#dodaje lokalny commit z nazwą (np. "bug fix", "end of day", "minor changes"):
git commit -m "nazwa commitu"

#wypycha commit na ten sam branch na zdalnym repo:
git push

Musisz zwracać uwagę na informacje, które git wyświetla. Jeśli w międzyczasie na zdalnym repo pojawią się jakieś inne zmiany, GitHub odrzuci Twój commit.

Jeśli masz 10000% pewności, że chcesz wypchnąć swoje zmiany i nadpisać to, co jest na GitHubie, dodaj do komendy –force. Ale raczej nie nadużywaj tej opcji, zwłaszcza jeśli pracujesz w zespole.

#wymusza wypchnięcie zmian na githuba i nadpisanie wszelkich zmian na zdalnym repo
git push --force

Git GUI

To tyle, jeśli chodzi o zabawy z terminalem, kluczami SSH i commitami.

W praktyce większość programistów korzysta z GUI i dodaje/commituje/pushuje pliki z poziomu IDE. VS Code oczywiście też go ma i jest bardzo prosty w obsłudze. Wybieramy pliki, które chcemy dodać (na liście pojawią się wszystkie pliki, w których dokonano jakichkolwiek zmian), wpisujemy nazwę commita i klikamy „Commit”.

Po kliknięciu „Commit” pojawi się przycisk „Sync Changes„, który najpierw robi pull (pobiera zmiany ze zdalnego repo), a następnie push (wypycha zmiany z lokalnego repo na GitHuba).

I gotowe. Zmiany są już na naszym repo na GitHubie.

Ściągawka z GIT-a do druku

Specjalnie dla naszych czytelników przygotowaliśmy krótką ściągawkę z podstawowymi komendami do GIT-a. Wydrukuj sobie i powieś nad biurkiem – przynajmniej do czasu, dopóki ich nie zapamiętasz. Chociaż powiem Ci, że po 7 latach ciągłej pracy z GIT-em, ja wciąż nie pamiętam komendy na generowanie klucza SSH, więc wiesz… zawsze się może przydać.
Infografika jest dostępna w dwóch wersjach – kolorowa i ekonomiczna. Sami zdecydujcie, która lepiej pasuje do wystroju. 😉

git-infografika
git-infografika

Podsumowanie

W kolejnym etapie powinniśmy nauczyć się tworzyć nowe branche, robić Merge Request, Rebase i twardy Reset. To wszystko, czego potrzebujesz, żeby z powodzeniem korzystać z Gita samodzielnie i w zespole.

Tymczasem masz wszystko, czego potrzebujesz, żeby rozpocząć pracę z GITem.


Co dalej?

Zapisz się do naszego newslettera, żeby nigdy nie przegapić żadnego wartościowego artykułu.

Zajrzyj do sekcji Kariera w AI, gdzie znajdziesz konkretne materiały o zmianach na rynku pracy – w Polsce i na świecie – oraz ścieżkach kariery związanych ze sztuczną inteligencją (nie tylko jako programista!).

→ A jeśli chcesz pisać modele i pracować jako Architekt AI, ale nie wiesz, od czego zacząć (lub utknąłeś gdzieś na ścieżce), odwiedź dział Nauka AI – czeka tam wiedza, ciekawostki i realne wsparcie.


! Uwaga

Niniejszy ebook ma charakter informacyjny i edukacyjny. Nie stanowi porady prawnej ani oferty pracy w rozumieniu przepisów krajowych lub unijnych.
Przy tworzeniu niniejszego artykułu korzystano ze wsparcia narzędzi opartych na sztucznej inteligencji – m.in. w zakresie porządkowania treści, analizy źródeł, przyspieszenia redakcji i wyszukiwania źródeł Jednak wszelkie decyzje dotycząca treści, interpretacji i ostatecznej formy zostały podjęte przez człowieka.

Podziel się swoją opinią

Jeden komentarz

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *