Rozdział 1: Wprowadzenie do Git
Git jest jednym z najpopularniejszych narzędzi do zarządzania wersjami kodu, stosowanym przez programistów na całym świecie. Niezależnie od tego, czy tworzysz mały projekt hobbystyczny, czy pracujesz w dużym zespole nad złożoną aplikacją, Git ułatwia śledzenie zmian w kodzie i współpracę. W tym rozdziale poznasz, czym jest Git, jakie są jego zalety oraz jak go zainstalować i skonfigurować.
1.1 Co to jest system kontroli wersji?
System kontroli wersji (ang. Version Control System, VCS) to narzędzie, które pozwala na śledzenie zmian w plikach w miarę ich edytowania. Dzięki temu możesz cofnąć się do poprzednich wersji, porównywać zmiany, a także pracować równolegle z innymi nad tym samym projektem. Istnieją różne systemy kontroli wersji, takie jak CVS, SVN, Mercurial, jednak Git jest obecnie najbardziej popularny ze względu na swoją szybkość, elastyczność i wsparcie społeczności.
1.2 Dlaczego warto używać Git?
Git posiada kilka kluczowych zalet, które czynią go wyjątkowym:
Rozproszony model pracy: Każdy użytkownik posiada pełną kopię repozytorium lokalnie, co umożliwia pracę offline i zapewnia większą niezależność.
Wydajność: Operacje takie jak commit, log czy diff są wykonywane bardzo szybko, ponieważ operacje odbywają się na lokalnej kopii repozytorium.
Wersjonowanie i współpraca: Możesz pracować na różnych gałęziach projektu, równocześnie z innymi programistami, co jest kluczowe w pracy zespołowej.
Historia zmian: Każda zmiana w plikach jest zapisywana, co pozwala na przeglądanie historii projektu oraz analizowanie wprowadzonych modyfikacji.
1.3 Instalacja Git
Zanim rozpoczniesz pracę z Git, musisz go zainstalować. Poniżej znajdują się instrukcje instalacji na różnych systemach operacyjnych.
Instalacja Git na Linuxie
W przypadku systemów opartych na Ubuntu lub Debian, otwórz terminal i wpisz:
bash
sudo apt update
sudo apt install git
Dla dystrybucji opartych na Red Hat (np. Fedora):
bash
sudo dnf install git
Instalacja Git na macOS
Jeśli masz zainstalowany Homebrew, wystarczy, że wpiszesz:
bash
brew install git
Instalacja Git na Windows
Na Windowsie możesz pobrać instalator z oficjalnej strony git-scm.com i postępować zgodnie z instrukcjami. Po instalacji Git Bash zostanie zainstalowany, co pozwala na używanie Git z poziomu terminala w Windowsie.
1.4 Pierwsza konfiguracja Git
Po zainstalowaniu Git, konieczne jest skonfigurowanie podstawowych ustawień, takich jak nazwa użytkownika i adres e-mail. Te dane będą widoczne przy każdym commicie, który wykonasz. Aby to zrobić, otwórz terminal i wpisz następujące komendy:
bash
git config - global user.name "Twoje Imię"
git config - global user. email "twojemail@example.com"
Możesz sprawdzić swoją konfigurację za pomocą polecenia:
bash
git config - list
Zobaczysz listę aktualnych ustawień.
1.5 Podstawowe pojęcia w Git
Zanim przejdziesz do dalszych rozdziałów, warto zrozumieć kilka podstawowych pojęć, które będą używane w dalszej części książki:
Repository (repozytorium): Jest to miejsce, gdzie Git przechowuje wszystkie wersje twojego projektu. Może być lokalne (na twoim komputerze) lub zdalne (np. na GitHubie).
Commit: Operacja, która zapisuje zmiany w repozytorium. Każdy commit zawiera unikalny identyfikator oraz opis zmian.
Branch (gałąź): Gałąź pozwala na pracę nad różnymi wersjami projektu równocześnie. Domyślną gałęzią w Git jest main lub master.
Merge: Proces łączenia dwóch gałęzi. Zmiany wprowadzone w jednej gałęzi mogą zostać scalone z drugą.
Remote: Zdalne repozytorium, na przykład na serwerze GitHub czy GitLab. Umożliwia współpracę nad projektem w zespole.
1.6 Tworzenie pierwszego repozytorium
Po zainstalowaniu i skonfigurowaniu Git, możemy utworzyć nasze pierwsze repozytorium. Aby to zrobić, najpierw utwórz nowy katalog i przejdź do niego:
bash
mkdir moj-pierwszy-projekt
cd moj-pierwszy-projekt
Następnie, aby zainicjować repozytorium Git, wykonaj komendę:
bash
git init
Ta komenda tworzy ukryty folder. git, w którym Git będzie przechowywał całą historię projektu.
1.7 Tworzenie pierwszego commitu
Dodajmy teraz pierwszy plik do naszego repozytorium. Utwórz nowy plik README.md:
bash
echo "# Mój pierwszy projekt" > README.md
Aby dodać plik do obszaru staged, użyj komendy:
bash
git add README.md
Następnie wykonaj commit, aby zapisać zmiany:
bash
git commit -m "Dodano plik README"
Gratulacje! Właśnie utworzyłeś swój pierwszy commit w Git.
Podsumowanie
W tym rozdziale dowiedziałeś się, czym jest Git i jakie są jego zalety. Przeszliśmy przez proces instalacji Git na różnych systemach operacyjnych, konfiguracji użytkownika oraz utworzenia pierwszego repozytorium. Teraz jesteś gotowy, aby przejść do kolejnych rozdziałów, gdzie zgłębimy bardziej zaawansowane funkcje Git.
Rozdział 4: Historia i śledzenie zmian
W tym rozdziale skupimy się na analizie historii zmian w repozytorium Git. Nauczysz się, jak przeglądać historię commitów, śledzić zmiany w plikach oraz jak cofać się do wcześniejszych wersji projektu. Praca z historią Git jest kluczowa do rozumienia, co i kiedy zostało zmienione, co ułatwia debugowanie i rozwijanie projektu.
4.1 Wyświetlanie historii commitów
Podstawową komendą do przeglądania historii commitów w Git jest:
bash
git log
Komenda ta wyświetli szczegółową listę commitów w kolejności od najnowszego do najstarszego. Informacje zawarte w logu obejmują identyfikator commitu, autora, datę oraz wiadomość opisującą zmiany.
Jeśli chcesz zobaczyć historię w bardziej kompaktowej formie, możesz użyć opcji:
bash
git log - oneline
Wynik będzie zawierał tylko skrócone identyfikatory commitów oraz ich opisy, co ułatwia szybkie przeglądanie.
4.2 Wyświetlanie różnic między commitami
Aby zobaczyć, co dokładnie zmieniło się między dwoma commitami lub od ostatniego commitu, możesz użyć komendy git diff. Wyświetla ona różnice w plikach między bieżącym stanem a ostatnim commitem.
bash
git diff
Jeśli chcesz porównać zmiany między dwoma określonymi commitami, użyj:
bash
git diff commit1 commit2
Zamień commit1 i commit2 na odpowiednie identyfikatory commitów, aby zobaczyć różnice między nimi.
4.3 Śledzenie zmian w konkretnym pliku
Aby zobaczyć historię zmian wprowadzonych do konkretnego pliku, użyj komendy:
bash
git log - nazwa_pliku
Dzięki tej komendzie wyświetlisz listę commitów, które wpłynęły na dany plik, co pozwala na śledzenie jego ewolucji w czasie.
4.4 Przeglądanie zmian w plikach z git blame
Narzędzie git blame pozwala dokładnie zobaczyć, kto zmodyfikował daną linię w pliku oraz w którym commicie to się stało. Aby użyć tej komendy, wpisz:
bash
git blame nazwa_pliku
Wynik pokaże każdą linię pliku z informacją o commitcie, który wprowadził zmianę, oraz o autorze tej zmiany. Jest to bardzo przydatne przy debugowaniu i analizie kodu.
4.5 Cofanie zmian za pomocą git checkout
Czasami potrzebujesz tymczasowo cofnąć zmiany wprowadzone do pliku, aby przywrócić go do stanu z ostatniego commitu. Możesz to zrobić za pomocą komendy:
bash
git checkout nazwa_pliku
Ta komenda przywraca wersję pliku do ostatnio zatwierdzonego stanu, usuwając wszystkie lokalne zmiany.
4.6 Cofanie commitów z git revert
Aby cofnąć zmiany wprowadzone przez określony commit, ale jednocześnie zachować historię repozytorium, użyj komendy:
bash
git revert commit_id
Zamień commit_id na identyfikator commitu, który chcesz cofnąć. Komenda git revert tworzy nowy commit, który odwraca zmiany wprowadzone przez wskazany commit, nie zmieniając historii projektu.
4.7 Resetowanie historii za pomocą git reset
W przypadku gdy chcesz całkowicie usunąć historię commitów i cofnąć stan repozytorium do wcześniejszej wersji, możesz użyć komendy:
bash
git reset - hard commit_id
Opcja - hard powoduje, że Git resetuje zarówno obszar roboczy, jak i obszar staged do stanu wskazanego commitu, co może prowadzić do utraty zmian, które nie zostały zatwierdzone.
Uwaga: Należy używać git reset - hard ostrożnie, ponieważ może to prowadzić do trwałej utraty danych.
4.8 Odzyskiwanie utraconych commitów za pomocą git reflog