Definicja #
GitHub to platforma SaaS do hostowania repozytoriów Git, stworzona w 2008 roku przez Toma Preston-Wernera, Chrisa Wanstratha i P.J. Hyetta. W 2018 roku Microsoft przejął GitHuba za 7,5 mld USD. Platforma gości ponad 100 milionów programistów i setki milionów repozytoriów.
Kluczowe funkcjonalności GitHuba:
- Repozytoria Git — hosting kodu z pełną historią zmian, branchami i tagami
- Pull Requests (PR) — mechanizm code review: proponowanie zmian, komentarze, zatwierdzanie i mergowanie
- Issues — śledzenie błędów, zadań i feature requestów
- GitHub Actions — wbudowany CI/CD: automatyzacja buildów, testów i deploymentu
- GitHub Pages — bezpłatny hosting statycznych stron z repozytorium
- GitHub Copilot — asystent AI do kodowania (subskrypcja), oparty na modelach OpenAI
- Security — Dependabot (alerty i auto-PR dla podatnych zależności), code scanning, secret scanning
- Packages — rejestr pakietów (npm, Docker, Maven, NuGet)
GitHub jest centrum ekosystemu open-source — większość popularnych bibliotek i frameworków jest hostowana właśnie tu. Profil GitHub jest często traktowany jako portfolio programisty.
Zastosowania #
GitHub stosuje się do:
- Współpracy nad kodem w zespołach — code review przez Pull Requests, zarządzanie branchami i mergowanie zmian
- CI/CD przez GitHub Actions — automatyczne uruchamianie testów, budowania i deploymentu przy każdym pushu lub PR
- Zarządzania projektem — Issues, Projects (tablice Kanban), Milestones, Labels
- Hostowania projektów open-source i budowania portfolio dewelopera — publiczne repozytoria
- Automatyzacji bezpieczeństwa — Dependabot do aktualizacji podatnych zależności, secret scanning
Ścieżka nauki #
GitHub jest narzędziem niezbędnym dla każdego programisty — nauka jest absolutnym priorytetem.
Zacznij od:
- Podstawy Git — commit, push, pull, branch, merge, rebase (Git to fundament, GitHub to interfejs)
- Tworzenie repozytorium, klonowanie (
git clone), praca z remote - Pull Request workflow — fork lub branch, zmiany, PR, code review, merge
- Profil GitHub — publiczne repozytoria jako portfolio
Następnie poznaj:
- GitHub Actions — pisanie workflow YAML dla CI/CD (testy, build, deploy)
- Zarządzanie projektem — Issues, Projects, Labels, Milestones
- GitHub Pages — hostowanie portfolio lub dokumentacji
- Bezpieczeństwo — Dependabot, branch protection rules, wymagane review
FAQ #
- Czym różni się GitHub od Git?
- Git to rozproszony system kontroli wersji działający lokalnie — śledzi historię zmian w plikach. GitHub to platforma internetowa hostująca repozytoria Git i dodająca funkcje współpracy: Pull Requests, Issues, Actions, code review. GitHub można zastąpić GitLabem lub Bitbucketem — Git jest niezastąpiony.
- Czy GitHub jest darmowy?
- GitHub oferuje darmowy plan z nieograniczonymi publicznymi i prywatnymi repozytoriami, 2000 minut GitHub Actions miesięcznie i podstawowymi funkcjami. Plan Team (4 USD/użytkownik/miesiąc) i Enterprise dodają zaawansowane zarządzanie i compliance.
- Czy profil GitHub jest ważny dla rekruterów?
- Tak — aktywny profil GitHub z projektami i wkładem open-source jest postrzegany przez rekruterów jako dowód umiejętności i zaangażowania. Zielony wykres aktywności i dobrze opisane projekty mogą znacząco pomóc w rekrutacji.
- Czym GitHub różni się od GitLab i Bitbucket?
- GitHub jest największy i ma najsilniejszy ekosystem open-source. GitLab to platforma DevOps (self-hosted lub SaaS) z rozbudowanym CI/CD i kompleksowym workflow — często wybierana przez firmy chcące self-hostować. Bitbucket od Atlassiana integruje się z Jirą i jest popularny w środowiskach korporacyjnych.