Szybki Start! GIT w moment - Michał Walendowski

Kup ebooka

16.15 zł
13.40 zł (13,73 zł najniższa cena z 30 dni)

-
Proszę czekać

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