GitHub – co to jest, jak zacząć i dlaczego każdy programista go potrzebuje

GitHub to największa platforma do hostingu kodu źródłowego i współpracy programistów na świecie – ponad 100 milionów użytkowników i 420 milionów repozytoriów. Opiera się na systemie kontroli wersji Git (stworzonym przez Linusa Torvaldsa, twórcę Linuxa) i dodaje: interfejs webowy, pull requesty, issues, CI/CD (GitHub Actions), hosting stron (GitHub Pages), AI (Copilot) i społeczność open source. Należy do Microsoftu od 2018 (przejęcie za $7.5 mld).

Git vs GitHub – kluczowa różnica

Pojęcie Co to Analogia
Git System kontroli wersji (oprogramowanie lokalne) Silnik samochodu
GitHub Platforma chmurowa do hostingu repozytoriów Git Autostrada (gdzie jedziesz silnikiem)

Git działa lokalnie na Twoim komputerze – śledzi zmiany w plikach, tworzy commity (snapshoty kodu), pozwala tworzyć branche (gałęzie do eksperymentowania). Nie wymaga internetu. GitHub to zdalna platforma, na której przechowujesz repozytoria Git w chmurze – żeby: mieć backup, współpracować z innymi, pokazywać portfolio, automatyzować testy i deploy.

Możesz używać Git bez GitHub (lokalne repo na dysku). Ale GitHub bez Git nie istnieje (GitHub to frontend dla Git).

Do czego służy GitHub

Hosting kodu. Twój kod (strona, aplikacja, skrypt, wtyczka WordPress) jest przechowywany bezpiecznie w chmurze. Backup, wersjonowanie, dostęp z dowolnego komputera.

Współpraca w zespole. 5 programistów pracuje nad tym samym projektem – każdy na swoim branchu, potem łączy zmiany przez pull request (prośba o włączenie zmian do głównego kodu). Code review: inny programista sprawdza Twój kod zanim trafi do produkcji.

Open source. GitHub to dom open source – WordPress, Linux, React, Next.js, Docker, VS Code, TensorFlow – kod dostępny publicznie, każdy może czytać, zgłaszać bugi, proponować poprawki. Licencje open source (MIT, GPL, Apache) regulują jak możesz używać kodu.

Portfolio programisty. Profil GitHub to CV programisty – rekruterzy sprawdzają: jakie projekty zrobiłeś, jak piszesz kod, jak aktywny jesteś (contribution graph – zielone kwadraciki), w jakich projektach open source uczestniczysz.

CI/CD (GitHub Actions). Automatyzacja: po każdym push’u kodu → GitHub automatycznie: uruchamia testy, buduje aplikację, deploy’uje na serwer. Zero ręcznego wgrywania plików przez FTP – push → deploy.

GitHub Pages. Darmowy hosting statycznych stron (HTML, CSS, JS) bezpośrednio z repozytorium. Idealne do: dokumentacji, portfolio, blogów (Jekyll, Hugo, Astro). URL: twojnick.github.io lub własna domena.

Jak zacząć z GitHub – krok po kroku

Krok 1 – załóż konto

github.com → Sign Up → email + hasło + username. Darmowe konto: nieograniczone publiczne i prywatne repozytoria, 500 MB GitHub Packages, 2000 minut/mc GitHub Actions (CI/CD). Dla 99% programistów: darmowe wystarczy.

Krok 2 – zainstaluj Git

Git to lokalne narzędzie – musisz je zainstalować na komputerze:

Windows: Pobierz z git-scm.com → instalator → next-next (domyślne ustawienia OK). Po instalacji: otwórz terminal (CMD/PowerShell/Git Bash) → git --version → powinieneś zobaczyć wersję.

macOS: Zainstalowany domyślnie (lub: brew install git).

Linux: sudo apt install git (Ubuntu/Debian) lub sudo dnf install git (Fedora).

Konfiguracja (jednorazowa):

git config --global user.name "Twoje Imię"
git config --global user.email "twoj@email.com"

Krok 3 – utwórz pierwsze repozytorium

Na GitHub: kliknij „+”„New repository” → nazwa (np. „moj-projekt”) → Public lub Private → „Create repository”.

Lokalnie (terminal):

# Stwórz folder i zainicjuj Git
mkdir moj-projekt
cd moj-projekt
git init

# Utwórz plik
echo "# Mój projekt" > README.md

# Dodaj do staging (przygotuj do commita)
git add .

# Commit (zapisz snapshot)
git commit -m "Initial commit"

# Połącz z GitHub
git remote add origin https://github.com/twojnick/moj-projekt.git
git push -u origin main

Kod jest teraz na GitHub – widoczny na github.com/twojnick/moj-projekt.

Podstawowe komendy Git

Komenda Co robi
git init Inicjalizuj nowe repo w katalogu
git clone URL Sklonuj repo z GitHub na komputer
git status Pokaż status: zmienione/nowe pliki
git add . Dodaj wszystkie zmiany do staging
git commit -m "opis" Zapisz snapshot z opisem
git push Wyślij commity na GitHub
git pull Pobierz zmiany z GitHub na komputer
git branch nazwa Utwórz nową gałąź
git checkout nazwa Przełącz na gałąź
git merge nazwa Złącz gałąź z bieżącą
git log Historia commitów
git diff Pokaż zmiany (przed commitem)

Pull Request – fundament współpracy

Pull Request (PR) to prośba o włączenie Twoich zmian do głównego kodu. Workflow:

  1. Stwórz branch: git checkout -b feature/nowy-przycisk (pracujesz na osobnej gałęzi, nie na main).
  2. Napisz kod → commit → push: git push origin feature/nowy-przycisk.
  3. Na GitHub: pojawi się przycisk „Compare & pull request” → kliknij → opisz co zrobiłeś → „Create pull request”.
  4. Code review: inny programista czyta Twój kod, komentuje, sugeruje zmiany.
  5. Merge: po aprovacie → kliknij „Merge pull request” → kod trafia do main.

PR to standard branżowy – żaden profesjonalny zespół nie push’uje bezpośrednio na main. PR = jakość kodu + historia zmian + code review.

GitHub Actions – automatyzacja CI/CD

GitHub Actions to wbudowany system CI/CD – definiujesz workflow (plik YAML) → GitHub automatycznie wykonuje go po: push’u, pull requeście, schedulu (cron), release.

Przykład: po push’u na main → uruchom testy → zbuduj → deploy na serwer:

# .github/workflows/deploy.yml
name: Deploy
on:
  push:
    branches: [main]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm install
      - run: npm test
      - run: npm run build
      - name: Deploy to server
        run: rsync -avz ./dist/ user@serwer:/var/www/html/

Push na main → GitHub Actions: instaluje dependencies → uruchamia testy → buduje → deploy’uje na serwer. Zero ręcznego FTP. Darmowe: 2000 minut/mc na darmowym koncie (wystarczy dla większości projektów).

GitHub vs GitLab vs Bitbucket

Platforma Właściciel CI/CD Najlepszy do
GitHub Microsoft GitHub Actions Open source, portfolio, największa społeczność
GitLab GitLab Inc. GitLab CI (potężniejsze) DevOps, self-hosted, enterprise
Bitbucket Atlassian Bitbucket Pipelines Integracja z Jira/Confluence

Dla większości: GitHub (największa społeczność, najlepsza integracja z VS Code, Copilot, open source). GitLab: dla firm, które chcą self-hosted (na swoim serwerze) lub potrzebują zaawansowanego CI/CD. Bitbucket: dla zespołów używających Atlassian (Jira, Confluence, Trello).

GitHub Copilot – AI programuje za Ciebie

GitHub Copilot to AI asystent kodowania (oparty na modelach OpenAI) – sugeruje kod w czasie rzeczywistym w edytorze (VS Code, JetBrains). Piszesz komentarz → Copilot generuje kod. Piszesz początek funkcji → Copilot dopowiada resztę. Kompletne funkcje, testy, dokumentacja – generowane z kontekstu.

Cena: $10/mc (Individual) lub darmowy dla studentów i open source maintainerów. Działa z: CSS, JavaScript, TypeScript/React, PHP, SQL, Bash, i dziesiątkami innych języków.

Najczęściej zadawane pytania

Czy GitHub jest darmowy?

Tak – darmowe konto daje: nieograniczone publiczne i prywatne repozytoria, GitHub Actions (2000 min/mc), GitHub Pages, Codespaces (60h/mc), Copilot (dla studentów). Płatne: Pro ($4/mc – więcej Actions, Insights), Team ($4/user/mc – team management), Enterprise.

Czy muszę znać terminal żeby używać GitHub?

Nie – GitHub Desktop (desktop.github.com) to graficzna aplikacja: klonuj, commituj, push, pull, twórz branche – klikaniem zamiast komendami. VS Code: wbudowana integracja Git (panel Source Control – add, commit, push z GUI). Ale: nauka terminala (git add, commit, push) daje pełną kontrolę i jest standardem w branży.

Czy GitHub jest bezpieczny dla prywatnego kodu?

Tak – prywatne repozytoria są widoczne tylko dla Ciebie i osób, którym dasz dostęp. GitHub (Microsoft) ma: szyfrowanie at rest i in transit, SOC 2 Type II, dwuskładnikowe uwierzytelnianie (2FA), dependency scanning, secret scanning (wykrywa przypadkowo wrzucone hasła/klucze API). Ale: nie wrzucaj haseł i kluczy API do repo (nawet prywatnego) – używaj zmiennych środowiskowych (.env + .gitignore).

GitHub a WordPress – jak to się łączy?

Profesjonalni deweloperzy WordPress: trzymają motyw i wtyczki custom w repozytorium GitHub. Workflow: edytuj kod → commit → push → GitHub Actions deploy’uje na serwer (zamiast FTP). Wtyczki WordPress z WordPress.org: kod źródłowy zwykle na GitHub (developerzy akceptują bugi i pull requesty tam).

Jak usunąć przypadkowo wrzucone hasło/klucz?

Git pamięta WSZYSTKO – nawet jeśli usuniesz plik i zrobisz nowy commit, stary commit (z hasłem) nadal istnieje w historii. Rozwiązanie: zmień hasło/klucz natychmiast (bo jest już publiczne), potem: git filter-branch lub BFG Repo Cleaner (bfg-repo-cleaner.com) żeby usunąć z historii. Prewencja: .gitignore z .env, wp-config.php, credentials.json. GitHub Secret Scanning: automatycznie wykrywa i ostrzega gdy wrzucisz klucz API.

Picture of Tomasz Zieliński
Tomasz Zieliński

Tomasz zajmuje się tematyką SEO, sztucznej inteligencji i automatyzacji pracy w marketingu internetowym. W swoich artykułach analizuje zmiany w algorytmach wyszukiwarek, rozwój narzędzi AI oraz nowe sposoby tworzenia i optymalizacji treści. Interesuje go przede wszystkim to, jak technologia wpływa na codzienną pracę specjalistów SEO, marketerów i twórców internetowych.

Facebook
Twitter
LinkedIn
Pinterest

Najnowsze Wpisy

Śledź nas