Definicja #
Git to rozproszony system kontroli wersji (DVCS — Distributed Version Control System) stworzony przez Linusa Torvaldsa na potrzeby rozwijania jądra Linux. W odróżnieniu od scentralizowanych systemów (SVN, CVS), Git daje każdemu programiście pełną kopię repozytorium z kompletną historią zmian.
Kluczowe koncepcje Git:
- Repozytorium (repo) — katalog z historią wszystkich zmian projektu
- Commit — zapisany punkt kontrolny z zestawem zmian i opisem
- Branch (gałąź) — niezależna linia rozwoju kodu
- Merge / Rebase — łączenie zmian z różnych gałęzi
- Remote — zdalne repozytorium (GitHub, GitLab, Bitbucket)
- Pull Request / Merge Request — propozycja zmian do code review
Git jest niezwykle szybki, działa offline i świetnie radzi sobie z rozgałęzieniami (branching). Platformy takie jak GitHub, GitLab i Bitbucket bazują na Gicie, dodając narzędzia do współpracy, CI/CD i zarządzania kodem.
Zastosowania #
Git jest stosowany do:
- Wersjonowania kodu źródłowego każdego projektu programistycznego
- Współpracy zespołowej — równoległa praca wielu programistów bez konfliktów
- Code review poprzez Pull Requesty (PR) / Merge Requesty (MR)
- Zarządzania wydaniami — tagowanie wersji, gałęzie release i hotfix
- Automatyzacji CI/CD — triggery na push/PR uruchamiające pipeline'y
Ścieżka nauki #
Git to jedno z pierwszych narzędzi, które powinieneś opanować jako programista.
Zacznij od poleceń podstawowych:
- git init, clone, status, add, commit, push, pull
- Tworzenie i przełączanie gałęzi: git branch, checkout, switch
- Rozwiązywanie konfliktów merge
Następnie opanuj:
- git rebase — liniowa historia commitów
- git stash — tymczasowe odkładanie zmian
- Strategie pracy: Git Flow, GitHub Flow, Trunk-Based Development
- Interaktywny rebase i amend — czyszczenie historii
- Hooki Git — automatyzacja weryfikacji przed commitem
FAQ #
- Czym różni się Git od GitHub?
- Git to narzędzie do kontroli wersji działające lokalnie. GitHub to platforma w chmurze do przechowywania repozytoriów Git, dodająca funkcje: Pull Requesty, Issues, Actions (CI/CD), Pages i inne. GitLab oraz Bitbucket to alternatywy dla GitHub.
- Jak długo uczyć się Gita?
- Podstawowe komendy Git można opanować w 1–2 dni. Biegłość w zaawansowanych operacjach (rebase, bisect, submodules) i strategiach pracy zespołowej wymaga kilku tygodni praktyki.
- Czy Git jest trudny?
- Podstawy Gita są przystępne, jednak zaawansowane operacje (rebase interaktywny, cherry-pick, rozwiązywanie złożonych konfliktów) wymagają doświadczenia. Większość błędów w Gicie można cofnąć, co czyni go bezpiecznym narzędziem do nauki.
- Ile zarabia programista znający Git?
- Git jest umiejętnością bazową — wymagany w praktycznie każdym ogłoszeniu o pracę dla programistów. Jego znajomość wpływa na poziom stanowiska, a nie na samą stawkę wynagrodzenia.