IT Akademia
Panel / ๐Ÿ’ป Programowanie i skrypty โ€” Git, Python, SQL, API / Lekcja 2/9

Git: kontrola wersji, ktora musisz rozumiec

โฑ 20 min ยท poziom 3/5
๐Ÿ“œ Wprowadzenie โ€” od historii do szczegolu 2005-dzis

Git narodzil sie z konfliktu: w 2005 spolecznosc jadra Linuksa stracila dostep do komercyjnego narzedzia kontroli wersji, wiec Linus Torvalds w dwa tygodnie napisal wlasne. Zaprojektowal je rozproszone (kazdy ma pelna kopie historii) i blyskawiczne. Dzis Git jest de facto standardem โ€” stoi za GitHubem, DevOps i praktycznie kazdym projektem IT.

Nawet jesli nie piszesz kodu, jako lider DevOps musisz rozumiec Git. Od historii zejdziemy do konkretu: model rozproszony kontra scentralizowany, trzy obszary (working directory, staging, repozytorium), commit jako migawka, galezie (branch) i scalanie (merge). To fundament, na ktorym w glebszych lekcjach zbudujemy strategie branchowania i pipeline CI/CD.

Po tej lekcji bedziesz umiec:

Git to system nerwowy nowoczesnego IT โ€” kod, infrastruktura, dokumentacja, konfiguracja. Jako lider DevOps nie musisz byc guru, ale MUSISZ rozumiec model: co to commit, branch, merge i dlaczego PR to serce jakosci.

Trzy obszary Git

Working dirStagingRepozytoriumgit add โ†’git commit โ†’

Podstawowy przeplyw

git clone <url>          # sklonuj repo
git checkout -b feature   # nowa galaz
# ... edytujesz pliki ...
git add plik.py           # do staging
git commit -m "opis"      # zapis w historii
git push origin feature   # wyslij na remote
# -> otwierasz Pull Request

Galezie i merge

**Branch (galaz)** to niezalezna linia pracy. Tworzysz galaz na zadanie, robisz commity, potem scalasz (**merge**) do glownej (main). Dzieki temu praca rownolegla nie psuje stabilnej wersji. **Konflikt** powstaje, gdy dwie galezie zmienily te sama linie โ€” Git prosi Cie o reczne rozstrzygniecie.

OperacjaCo robiKiedy
mergeLaczy galezie, tworzac commit scalajacyZachowanie pelnej historii
rebasePrzenosi commity na nowa baze (liniowo)Czysta, prosta historia
pullfetch + merge z remoteAktualizacja lokalnej galezi
revertNowy commit cofajacy zmianyBezpieczne cofniecie na wspolnej galezi
Na wspolnych galeziach uzywaj `revert` (bezpieczne, tworzy nowy commit), a NIE `reset --hard`/force push, ktore przepisuja historie innym. Zlota zasada: nie przepisuj historii, ktora ktos juz pobral.

.gitignore i higiena repo

`.gitignore` mowi Gitowi, czego NIE wersjonowac: sekrety (.env), pliki tymczasowe, artefakty buildu, foldery zaleznosci. **Sekretow nigdy nie commituj** โ€” raz wyslane do remote zyja w historii, nawet po usunieciu.

๐ŸŽฏ Cwiczenia podsumowujace

Gotowe? Oznacz lekcje jako ukonczona
Postep zapisuje sie automatycznie.
โ† Poprzednia Nastepna โ†’