Quest: Git i GitHub

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 przechowywane są wszystkie wersje projektu. Może być lokalne (na komputerze) lub zdalne (na serwerze).
  • Commit – Zatwierdzenie zmian w repozytorium. Każdy commit zapisuje migawkę stanu projektu w danym momencie.
  • Branch (gałąź) – Oddzielna linia rozwoju projektu. Umożliwia pracę nad różnymi funkcjami lub wersjami jednocześnie bez wpływu na główną wersję kodu (domyślnie master lub main).
  • Merge – Łączenie zmian z jednej gałęzi do drugiej. Zazwyczaj używane, aby scalić zmiany z gałęzi pobocznej do głównej (np. feature do main).
  • Staging (index) – Proces przygotowania zmian do zatwierdzenia. Pliki, które są w obszarze staging, będą uwzględnione w następnym commicie.
  • Pull – Pobieranie najnowszych zmian zdalnego repozytorium i scalanie ich z lokalnym.
  • Push – Wysłanie lokalnych commitów do zdalnego repozytorium.
  • Clone – Skopiowanie istniejącego zdalnego repozytorium do lokalnej maszyny.
  • Fork – Kopiowanie zdalnego repozytorium do własnego konta na GitHubie (lub innym hostingu Git), co pozwala na niezależną pracę nad projektem.
  • Origin – Domyślna nazwa dla zdalnego repozytorium, z którego projekt został sklonowany.
  • Remote – Zdalne repozytorium, z którym połączone jest lokalne repozytorium.

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

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 checkout -b <nazwa>  # Tworzy i przełącza na nową 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 stash pop            # Przywraca ostatnie stash
git remote -v            # Pokazuje zdalne repozytoria

Zadanie

  • 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

Zapisz moje dane, adres e-mail i witrynę w przeglądarce aby wypełnić dane podczas pisania kolejnych komentarzy.