Ten kurs to szybki i przystępny przewodnik po podstawach pracy z Gitem i GitHubem. Nauczysz się, czym jest kontrola wersji, poznasz kluczowe komendy oraz dowiesz się, jak pracować zespołowo nad kodem i publikować swoje projekty w internecie. 🚀
>>Spis treści
- Czym jest system kontroli wersji?
- Co to jest Git?
- Repozytorium, branch, commit
- Fundamentalne komendy Git’a
- Czym jest Github? Przykładowe alternatywy
- Pull request - z czym to się je?
- Github actions - podstawy CI/CD
- Github pages - możliwość wystawienia naszej aplikacji na świat
>>Czym jest system kontroli wersji?
System kontroli wersji (VCS, czyli Version Control System) to narzędzie, które umożliwia śledzenie wszystkich zmian w projekcie, cofanie się do wcześniejszych wersji oraz bezpieczną współpracę z innymi osobami. Pozwala na zarządzanie historią plików i ułatwia organizację pracy nad kodem.
Dlaczego warto używać systemu kontroli wersji? 🕓
- Pełna historia zmian w plikach.
- Możliwość powrotu do dowolnej wersji projektu.
- Praca zespołowa bez ryzyka nadpisania czyjejś pracy.
- Lepsza organizacja i bezpieczeństwo kodu.
>>Co to jest Git?
Git to najpopularniejszy system kontroli wersji na świecie, stworzony przez Linusa Torvaldsa. Pozwala na pracę zarówno lokalną na komputerze, jak i w chmurze, zapewniając bezpieczeństwo i elastyczność zarządzania projektem.
Co wyróżnia Gita? 🏆
- Możliwość pracy offline.
- Łatwe cofanie się do poprzednich wersji.
- Wsparcie dla gałęzi (branches), dzięki którym można testować nowe pomysły bez wpływu na główną wersję projektu.
>>Repozytorium, branch, commit
Te trzy pojęcia są podstawą pracy z Gitem i GitHubem. Zrozumienie ich znaczenia i działania pozwala sprawnie korzystać z systemu kontroli wersji.
>>>Repozytorium
Repozytorium (ang. repository) to miejsce przechowywania całego projektu wraz z historią zmian. Może być lokalne (na komputerze) lub zdalne (np. na GitHubie).
Co znajduje się w repozytorium?
- Pliki projektu (kody źródłowe, dokumentacja)
- Ukryty folder
.git
z historią zmian - Informacje o commitach, gałęziach i tagach
Typowe operacje: ⚙️
- Tworzenie nowego repozytorium:
git init
- Pobranie repozytorium z internetu:
git clone <adres_repo>
>>>Branch (gałąź)
Gałąź pozwala pracować nad różnymi funkcjonalnościami równolegle. Dzięki gałęziom można eksperymentować i rozwijać nowe funkcje bez wpływu na główną wersję kodu.
Dlaczego warto używać gałęzi?
- Testowanie nowych funkcji bez ryzyka dla głównej wersji projektu (zazwyczaj gałąź
main
lubmaster
) - Każdy członek zespołu może pracować na własnej gałęzi
- Możliwość łączenia (merge) zmian z różnych gałęzi
Typowe operacje: 🌿
- Tworzenie gałęzi:
git branch <nazwa_gałęzi>
- Przełączanie się na gałąź:
git checkout <nazwa_gałęzi>
lubgit switch <nazwa_gałęzi>
- Łączenie gałęzi:
git merge <nazwa_gałęzi>
>>>Commit
Commit to zapis zmian w projekcie wraz z opisem. Każdy commit jest jak punkt kontrolny w historii projektu.
Cechy commitów:
- Każdy commit ma unikalny identyfikator (hash)
- Opis commita powinien informować o dokonanych zmianach
- Możliwość powrotu do dowolnego commita
Tworzenie commita: 💾
- Dodanie plików do obszaru stage:
git add <plik>
lubgit add .
- Zapisanie zmian:
git commit -m "Opis zmian"
>>Fundamentalne komendy Git’a: commit, checkout, pull, push, clone
Poniżej znajdują się szczegółowe opisy najważniejszych komend Git'a wraz z zastosowaniem i przykładami. Przy każdej znajdziesz praktyczną instrukcję użycia.
>>>git clone
Klonuje istniejące repozytorium z internetu na komputer. 🖥️
git clone https://github.com/uzytkownik/projekt.git
Po tej komendzie otrzymujesz pełną kopię repozytorium z całą historią zmian.
>>>git checkout
oraz git switch
Służą do przełączania się między gałęziami lub do konkretnego commita.
- Przełączenie na inną gałąź:
git checkout nazwa_gałęzi # lub git switch nazwa_gałęzi
- Przełączenie do konkretnego commita (tylko do odczytu):
git checkout hash_commita
>>>git add
Dodaje zmienione pliki do obszaru staging, przygotowując je do commita.
- Dodanie pojedynczego pliku:
git add index.html
- Dodanie wszystkich plików:
git add .
>>>git commit
Zapisuje zmiany w repozytorium wraz z opisem.
git commit -m "Opis zmian"
Opis powinien być zwięzły i informować, co zostało zmienione.
>>>git pull
Pobiera najnowsze zmiany z repozytorium zdalnego do lokalnego i automatycznie je łączy. 🔄
git pull
>>>git push
Wysyła lokalne zmiany (commity) do repozytorium zdalnego.
git push
Możesz również wskazać nazwę zdalnego repozytorium i gałęzi:
git push origin nowa-funkcja
>>>git status
Pokazuje aktualny stan repozytorium: które pliki zostały zmienione, które są przygotowane do commita, a które nie.
git status
>>>git log
Pokazuje historię wszystkich commitów w repozytorium. 📜
git log
>>Czym jest Github? Przykładowe alternatywy
GitHub to platforma umożliwiająca przechowywanie projektów opartych o Git, dzielenie się kodem i współpracę w zespole. Umożliwia zarządzanie projektami, recenzowanie kodu i automatyzację procesów. To swoisty "hub" dla programistów i projektów open source.
Inne popularne platformy: 🌐
- GitLab
- Bitbucket
- Azure DevOps
>>Pull request - z czym to się je?
Pull request (PR) to prośba o akceptację i połączenie Twoich zmian z główną wersją projektu. Jest to podstawowy element pracy zespołowej na GitHubie.
Proces pull request: 👥
- Tworzysz nową gałąź i wprowadzasz w niej zmiany.
- Otwierasz pull request na GitHubie.
- Inni członkowie zespołu sprawdzają kod i mogą komentować lub zgłaszać poprawki.
- Po akceptacji zmiany są łączone z główną gałęzią projektu.
>>Github actions - podstawy CI/CD
GitHub Actions to narzędzie do automatyzacji zadań takich jak testowanie, budowanie i wdrażanie aplikacji. Pozwala tworzyć workflowy, które wykonują się automatycznie po spełnieniu określonych warunków (np. po każdym commicie).
Główne pojęcia: ⚙️
- Workflow – zestaw zadań wykonywanych automatycznie
- Konfiguracja w plikach YAML w folderze
.github/workflows/
>>Github pages - możliwość wystawienia naszej aplikacji na świat
GitHub Pages umożliwia publikowanie stron internetowych lub portfolio bez konieczności posiadania własnego serwera. Strona jest dostępna online bezpośrednio z repozytorium.
Jak to zrobić? 🌍
- Utwórz repozytorium z plikami strony (HTML, CSS, JS).
- W ustawieniach repozytorium aktywuj GitHub Pages.
- Strona będzie dostępna pod adresem:
https://<twoja-nazwa-użytkownika>.github.io/<nazwa-repo>
To tylko wstęp – każdy z tych tematów można rozwinąć o praktyczne przykłady i ćwiczenia, które pozwolą lepiej zrozumieć narzędzia i procesy pracy z Git oraz GitHubem.