Git to system kontroli wersji, który umożliwia śledzenie zmian w kodzie, ułatwiając współpracę w zespołach programistycznych oraz zarządzanie różnymi wersjami projektu. Działa lokalnie na komputerze i pozwala między innymi na łatwe odzyskiwanie wcześniejszych wersji kodu.
GitHub to platforma do hostowania zdalnych repozytoriów Git, która umożliwia programistom współpracę, przeglądanie kodu i zarządzanie projektami w chmurze. Alternatywami dla GitHub są m.in. GitLab, Bitbucket czy SourceForge.
Podstawowe pojęcia
| Repository (repozytorium) | miejsce, gdzie trzymany jest cały projekt. To „folder + historia zmian”. zawiera pliki projektu, zapisuje wszystkie zmiany w czasie, można go skopiować i pracować lokalnie |
| Clone (klonowanie) | zabranie projektu na swój komputer. robisz pełną kopię repozytorium, masz wszystko: kod + historia, możesz pracować bez internetu |
| Branch (gałąź) | równoległa wersja projektu do pracy bez psucia głównej. jak „osobny tor pracy”, można eksperymentować, główny projekt (main/master) zostaje bezpieczny |
| Commit | zapis „checkpointu” zmian. robisz zapis postępu pracy, każdy commit to mały krok w historii, można cofnąć się do wcześniejszych stanów |
| Merge | połączenie dwóch wersji pracy. np. łączysz branch z głównym projektem, wprowadzasz zmiany do wspólnej wersji, czasem trzeba rozwiązać konflikty |
| Pull request (PR) | propozycja zmian do projektu. „proszę, sprawdź moje zmiany i zaakceptuj”, miejsce do dyskusji i przeglądu kodu, standard pracy zespołowej |
| Fork | skopiowanie czyjegoś projektu na własne konto. robisz „własną wersję cudzej pracy”, możesz ją modyfikować bez wpływu na oryginał, często używane w open-source |
| Pull | pobranie najnowszych zmian z serwera. synchronizujesz swój lokalny projekt, dostajesz to, co zmienili inni |
Jak to się łączy
- repozytorium = projekt
- clone = zabierasz projekt na komputer
- branch = robisz swoją wersję roboczą
- commit = zapisujesz postępy
- pull request = prosisz o włączenie zmian
- merge = łączenie zmian
- fork = kopiujesz projekt dla siebie
- pull = aktualizujesz się
Szybki start
Najpierw zainstaluj Git na komputerze: git-scm.com.
Wszystkie typowe funkcje można łatwo wyklikać, ale warto przynajmniej przeczytać jakie polecenia są wykonywane w tle w czasie klikania. Na początek wystarczy rozumieć to co w filmie i umieć wyklikać to co poniżej.
Jeśli chcesz używać poleceń – wykonuj je w wierszu poleceń swojego systemu (cmd, terminal) lub w wierszu poleceń swojego edytora kodu. Na początek potrzebna jest minimalna konfiguracja:
git config --global user.email "adres@poczty.pl"<br>
git config --global user.name "piotrek"<br>Przykładowe polecenia GIT (jeśli ktoś nie chce klikać)
git init # Inicjalizuje nowe repozytorium
git clone <url> # Klonuje zdalne repozytorium
git status # Pokazuje stan plików
git add <plik> # Dodaje plik do staging area
git add . # Dodaje wszystkie zmienione pliki
git commit -m "wiadomość" # Zapisuje zmiany z komentarzem
git push # Wysyła commity do zdalnego repo
git pull # Pobiera i scala zmiany ze zdalnego repo
git branch # Wyświetla listę gałęzi
git branch <nazwa> # Tworzy nową gałąź
git checkout <gałąź> # Przełącza na inną gałąź
git merge <gałąź> # Scala gałąź z obecną
git log # Pokazuje historię commitów
git diff # Pokazuje niezapisane zmiany
git reset <plik> # Usuwa plik ze staging area
git rm <plik> # Usuwa plik i dodaje zmianę do staging
git stash # Tymczasowo zapisuje niezacommitowane zmiany
git remote -v # Pokazuje zdalne repozytoriaZadanie
- Wybierz prosty projekt z kilkoma plikami napisanymi w dowolnym języku.
- Zainicjuj folder projektu w git.
- Dodaj pliki.
- Utwórz startowy commit. Pamiętaj o sensownym opisie.
- Wprowadź zmiany w kodzie.
- Utwórz kolejny commit. Pamiętaj o sensownym opisie.
- Dodaj nowy plik do projektu i znów utwórz nowy commit. Pamiętaj o sensownym opisie.
- Utwórz zdalne repozytorium (np. na GitHubie) i połącz je z lokalnym repozytorium.
- Wprowadź zmiany w kodzie.
- Utwórz kolejny commit. Pamiętaj o sensownym opisie.
- Zsynchronizuj zdalne i lokalne repozytorium.
- Ustaw repozytorium zdalne jako publiczne i wyślij mi linka
Teraz możesz używać swojego konta na GitHubie jako quasi-bloga : )
Twój komentarz