Przejdź do treści

~/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ąć.

CZCzarek Zawolski--aktualizacja=--czas=7 min--dział=Programowanie i bazy danych
Schemat gałęzi w repozytorium Git i repozytorium zdalne w serwisie GitHub
tldr.txt — W skrócie

~ 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

CechaGitGitHub
Czym jestprogram (narzędzie wiersza poleceń)serwis internetowy / platforma
Gdzie działana Twoim komputerzew chmurze (github.com) lub na serwerze firmy (GitHub Enterprise Server)
Wymaga internetunietak
Kto rozwijaspołeczność open sourceMicrosoft (GitHub Inc.)
Kosztdarmowyplan darmowy i plany płatne
Główne zadanieśledzenie zmian, gałęzie, scalanieprzechowywanie repozytoriów, współpraca, automatyzacja
AlternatywyMercurial, 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:

  1. git pull — pobierasz najnowsze zmiany z GitHuba do swojej kopii.
  2. Tworzysz gałąź na zadanie: git switch -c poprawka-logowania.
  3. Edytujesz pliki, a potem zaznaczasz zmiany do zapisu: git add plik.js lub git add ..
  4. Zapisujesz migawkę lokalnie: git commit -m "Poprawka walidacji formularza logowania".
  5. Wysyłasz gałąź na GitHub: git push -u origin poprawka-logowania.
  6. 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:

PolecenieCo robi
git inittworzy nowe repozytorium w bieżącym folderze
git clone <adres>pobiera kopię istniejącego repozytorium
git statuspokazuje zmienione i nieśledzone pliki
git adddodaje zmiany do poczekalni (staging)
git commit -m "opis"zapisuje migawkę z opisem
git log --onelinewyś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 pullwysył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

  1. Zaloguj się na github.com i kliknij New (lub „+” → New repository).
  2. Podaj nazwę, wybierz Public lub Private.
  3. Nie zaznaczaj dodawania README, jeśli masz już projekt lokalnie — unikniesz konfliktu przy pierwszym pushu.
  4. 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 login przeprowadzi 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 formacie git@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 .gitignore przed 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

  1. Otwórz repozytorium na github.com.
  2. Przejdź do zakładki Settings (widoczna tylko dla właściciela i administratorów).
  3. Przewiń do sekcji Danger Zone i kliknij Delete this repository.
  4. 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

CZ

$ whoami

Czarek Zawolski

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ń.

~ ls ../podobne