~/programowanie cat git-a-github-czym-sie-roznia.md
Git a GitHub — czym się różnią? Wyjaśnienie z przykładami i pierwszym repozytorium
Git to system kontroli wersji działający na Twoim komputerze, a GitHub to serwis do hostowania repozytoriów Git. Zobacz różnice, podstawowe polecenia i jak zacząć.

~ xad tldr git-a-github-czym-sie-roznia
- Git to darmowe narzędzie do kontroli wersji, które instalujesz na komputerze i które działa bez internetu.
- GitHub to serwis internetowy (własność Microsoftu), który przechowuje repozytoria Git i dodaje narzędzia do współpracy: pull requesty, Issues, Actions, Pages.
- Możesz używać Gita bez GitHuba (lokalnie, z GitLabem, Bitbucketem, własnym serwerem), ale GitHub bez Gita nie miałby czego przechowywać.
- Podstawowy cykl pracy to: git add → git commit (lokalnie) → git push (wysłanie na GitHub) → git pull (pobranie zmian innych).
- Do wysyłania zmian na GitHub nie używasz hasła do konta — potrzebny jest klucz SSH, token lub logowanie przez Git Credential Manager albo GitHub CLI.
$ tree --spis-tresci
Git to system kontroli wersji — program, który instalujesz na swoim komputerze i który zapisuje historię zmian w plikach projektu. GitHub to serwis internetowy, na którym przechowujesz repozytoria Gita w chmurze i współpracujesz nad nimi z innymi ludźmi. Najprościej: Git to narzędzie, a GitHub to jedno z miejsc, gdzie trzyma się efekty pracy tego narzędzia.
Te dwie nazwy często używane są zamiennie, bo większość osób poznaje je jednocześnie. Poniżej wyjaśniam, co robi każde z nich, jak współpracują i jak w kilku krokach wysłać pierwszy projekt na GitHub.
Git — system kontroli wersji
Git powstał w 2005 roku. Napisał go Linus Torvalds na potrzeby rozwoju jądra Linuksa, gdy projekt stracił dostęp do wcześniej używanego narzędzia. Dziś to najpopularniejszy system kontroli wersji na świecie, rozwijany jako darmowe oprogramowanie open source.
Co daje Git:
- historię zmian — każdy zapis (commit) to migawka projektu z autorem, datą i opisem; możesz wrócić do dowolnej wcześniejszej wersji,
- gałęzie (branches) — równoległe linie rozwoju, np. osobna gałąź na nową funkcję, która nie psuje działającej wersji,
- scalanie (merge) — łączenie zmian z różnych gałęzi i od różnych osób,
- pracę offline — całe repozytorium z historią jest na Twoim dysku, więc commitujesz i przeglądasz historię bez internetu.
Git jest rozproszony: każdy programista ma pełną kopię repozytorium. Nie ma jednego „serwera”, bez którego nic nie działa — serwer zdalny (np. GitHub) to po prostu kolejna kopia, umówiona jako wspólny punkt wymiany zmian.
GitHub — serwis do hostowania repozytoriów i współpracy
GitHub wystartował w 2008 roku, a w 2018 roku kupił go Microsoft. Przechowuje repozytoria Gita na swoich serwerach i dodaje wokół nich narzędzia, których sam Git nie ma:
- pull requesty — propozycje zmian, które inni mogą przejrzeć, skomentować i zatwierdzić przed scaleniem,
- Issues i Projects — zgłoszenia błędów, zadania i tablice planowania,
- GitHub Actions — automatyczne testy, budowanie i wdrażanie (CI/CD) po każdym pushu,
- GitHub Pages — darmowy hosting statycznych stron prosto z repozytorium,
- zabezpieczenia — Dependabot (aktualizacje podatnych zależności), skanowanie sekretów i kodu,
- Codespaces i Copilot — środowisko programistyczne w przeglądarce i asystent AI do pisania kodu.
GitHub jest też największym miejscem publikacji projektów open source oraz swoistym portfolio programisty — rekruterzy często proszą o link do profilu.
Git a GitHub — porównanie w tabeli
| Cecha | Git | GitHub |
|---|---|---|
| Czym jest | program (narzędzie wiersza poleceń) | serwis internetowy / platforma |
| Gdzie działa | na Twoim komputerze | w chmurze (github.com) lub na serwerze firmy (GitHub Enterprise Server) |
| Wymaga internetu | nie | tak |
| Kto rozwija | społeczność open source | Microsoft (GitHub Inc.) |
| Koszt | darmowy | plan darmowy i plany płatne |
| Główne zadanie | śledzenie zmian, gałęzie, scalanie | przechowywanie repozytoriów, współpraca, automatyzacja |
| Alternatywy | Mercurial, Subversion (SVN) | GitLab, Bitbucket, Azure DevOps, Gitea/Forgejo, Codeberg |
Możesz więc używać Gita bez GitHuba — lokalnie albo z innym serwisem. W drugą stronę jest trudniej: nawet edycja plików przez stronę GitHuba czy w aplikacji GitHub Desktop to pod spodem operacje Gita.
Jak Git i GitHub współpracują — podstawowy cykl pracy
Typowy dzień programisty wygląda tak:
git pull— pobierasz najnowsze zmiany z GitHuba do swojej kopii.- Tworzysz gałąź na zadanie:
git switch -c poprawka-logowania. - Edytujesz pliki, a potem zaznaczasz zmiany do zapisu:
git add plik.jslubgit add .. - Zapisujesz migawkę lokalnie:
git commit -m "Poprawka walidacji formularza logowania". - Wysyłasz gałąź na GitHub:
git push -u origin poprawka-logowania. - Na GitHubie otwierasz pull request, ktoś przegląda kod, testy w GitHub Actions przechodzą — zmiany trafiają do gałęzi
main.
Kroki 2–4 to czysty Git, działający lokalnie. Kroki 1 i 5 to wymiana z serwerem zdalnym. Krok 6 to funkcja GitHuba, której sam Git nie oferuje.
Najważniejsze polecenia, które warto znać na start:
| Polecenie | Co robi |
|---|---|
git init | tworzy nowe repozytorium w bieżącym folderze |
git clone <adres> | pobiera kopię istniejącego repozytorium |
git status | pokazuje zmienione i nieśledzone pliki |
git add | dodaje zmiany do poczekalni (staging) |
git commit -m "opis" | zapisuje migawkę z opisem |
git log --oneline | wyświetla historię commitów |
git switch -c <nazwa> | tworzy nową gałąź i przełącza się na nią |
git merge <gałąź> | scala wskazaną gałąź z bieżącą |
git push / git pull | wysyła / pobiera zmiany z repozytorium zdalnego |
Jeśli dopiero oswajasz się z terminalem, przyda się też zestaw podstawowych poleceń Linuksa — w Git Bash na Windowsie działają one tak samo.
Pierwsze repozytorium na GitHubie krok po kroku
Krok 1: instalacja i konfiguracja Gita
Na Windowsie zainstaluj Git for Windows ze strony git-scm.com lub poleceniem winget install --id Git.Git -e. Na Linuksie użyj menedżera pakietów (sudo apt install git), a na macOS polecenia xcode-select --install lub Homebrew.
Następnie ustaw swoje dane — trafiają one do każdego commita:
git config --global user.name "Jan Kowalski"
git config --global user.email "jan@example.com"
git config --global init.defaultBranch main
Ostatnia linia sprawia, że nowe repozytoria będą miały gałąź główną o nazwie main, tak jak domyślnie na GitHubie.
Krok 2: utworzenie repozytorium na GitHubie
- Zaloguj się na github.com i kliknij New (lub „+” → New repository).
- Podaj nazwę, wybierz Public lub Private.
- Nie zaznaczaj dodawania README, jeśli masz już projekt lokalnie — unikniesz konfliktu przy pierwszym pushu.
- Kliknij Create repository i skopiuj adres repozytorium.
Krok 3: połączenie lokalnego projektu i wysłanie kodu
cd moj-projekt
git init
git add .
git commit -m "Pierwszy commit"
git remote add origin https://github.com/twoj-login/moj-projekt.git
git push -u origin main
Krok 4: uwierzytelnienie
GitHub od 2021 roku nie przyjmuje hasła do konta przy operacjach Gita przez HTTPS. Masz trzy wygodne opcje:
- Git Credential Manager (instalowany razem z Git for Windows) — przy pierwszym pushu otworzy przeglądarkę i zaloguje Cię do GitHuba,
- GitHub CLI — polecenie
gh auth loginprzeprowadzi Cię przez logowanie i skonfiguruje Gita, - klucz SSH — wygeneruj go poleceniem
ssh-keygen -t ed25519, dodaj klucz publiczny w GitHub → Settings → SSH and GPG keys i używaj adresu w formaciegit@github.com:twoj-login/moj-projekt.git.
Uwaga: Nigdy nie commituj plików z hasłami, tokenami ani kluczami API (np.
.env). Dodaj je do pliku.gitignoreprzed pierwszym commitem. Sekret, który raz trafił do historii publicznego repozytorium, trzeba uznać za ujawniony i natychmiast unieważnić — samo usunięcie pliku w kolejnym commicie nie wystarczy.
Dobrą praktyką jest też włączenie uwierzytelniania dwuskładnikowego na koncie GitHub — dla osób publikujących kod GitHub i tak go wymaga.
Jak usunąć repozytorium na GitHubie
- Otwórz repozytorium na github.com.
- Przejdź do zakładki Settings (widoczna tylko dla właściciela i administratorów).
- Przewiń do sekcji Danger Zone i kliknij Delete this repository.
- Potwierdź, wpisując pełną nazwę repozytorium (
login/nazwa), i zatwierdź. GitHub może dodatkowo poprosić o ponowne uwierzytelnienie.
Usunięcie repozytorium na GitHubie nie usuwa kopii na Twoim komputerze ani u innych osób, które je sklonowały. W pewnych przypadkach GitHub pozwala przywrócić usunięte repozytorium w ciągu 90 dni (Settings konta → Repositories → Deleted repositories), ale nie traktuj tego jako kopii zapasowej.
Wskazówka: Zamiast usuwać repozytorium, którego już nie rozwijasz, rozważ Archive this repository w tej samej sekcji Danger Zone. Kod zostaje dostępny tylko do odczytu, a historia i linki nie znikają.
GitHub czy inna platforma?
GitHub to nie jedyna opcja hostowania repozytoriów Git:
- GitLab — mocno rozbudowane CI/CD w jednym narzędziu, możliwość instalacji na własnym serwerze (wersja Community Edition jest darmowa),
- Bitbucket — popularny w firmach korzystających z Jiry i Confluence,
- Azure DevOps — w organizacjach opartych o ekosystem Microsoftu,
- Gitea / Forgejo — lekkie platformy do samodzielnego hostowania, np. na małym serwerze w firmie,
- Codeberg — niekomercyjny serwis dla projektów open source.
Ponieważ wszystkie korzystają z Gita, przeniesienie projektu jest proste: zmieniasz adres repozytorium zdalnego (git remote set-url origin <nowy-adres>) i wysyłasz kod. Pull requesty, zgłoszenia i konfiguracja CI są jednak specyficzne dla platformy i ich migracja wymaga osobnych narzędzi.
Gdy opanujesz podstawy, kolejnym krokiem będzie dobra dokumentacja projektu — zacznij od pliku README według zasad pisania dokumentacji technicznej — oraz zrozumienie, jak kod z repozytorium trafia na serwery, co opisujemy w tekście deploy a release — różnice.
~ man faq
Najczęściej zadawane pytania
Czym różni się Git od GitHuba w jednym zdaniu?
Git to program do zapisywania historii zmian w kodzie, działający na Twoim komputerze, a GitHub to serwis w chmurze, na którym przechowujesz repozytoria Git i współpracujesz nad nimi z innymi.
Czy mogę używać Gita bez GitHuba?
Tak. Git działa w pełni lokalnie, a repozytorium zdalne możesz trzymać w dowolnym miejscu: na GitLabie, Bitbuckecie, własnym serwerze z Gitea lub Forgejo, a nawet na dysku sieciowym.
Czy GitHub jest darmowy?
Podstawowy plan GitHub Free pozwala tworzyć nielimitowaną liczbę publicznych i prywatnych repozytoriów. Płatne plany dodają m.in. zaawansowane funkcje dla zespołów i firm oraz większe limity dla GitHub Actions i Codespaces.
Czy GitHub Desktop to to samo co Git?
Nie. GitHub Desktop to graficzna aplikacja, która pod spodem używa Gita i ułatwia pracę z repozytoriami na GitHubie. Polecenia wykonywane w niej to te same operacje Gita, co w terminalu.
Jak usunąć repozytorium na GitHubie?
Otwórz repozytorium, przejdź do Settings, przewiń do sekcji Danger Zone i kliknij Delete this repository, a następnie potwierdź, wpisując pełną nazwę repozytorium. Usunięcie lokalnej kopii na komputerze to osobna czynność.
Ten artykuł jest częścią tematów
$ whoami
Założyciel i redaktor XAD.pl. Pisze o sieciach, bezpieczeństwie IT, administracji systemami Windows i Linux oraz o sprzęcie, który sprawia ludziom problemy na co dzień.


