Moduł 1 · Wprowadzenie do kontroli wersji i Git
Czym jest kontrola wersji i dlaczego jej potrzebujesz
Czy kiedykolwiek stracił́eś godziny pracy, bo przypadkowo usunął́eś ważny plik? Albo zastanawiał́eś się, jak rozwiązać sytuację, gdy dwóch programistów modyfikuje ten sam kod jednocześnie? To właśnie problemy, które rozwiązuje kontrola wersji — jeden z najważniejszych narzędzi każdego programisty.
Co to jest kontrola wersji w praktyce
Kontrola wersji (Version Control System - VCS) to system, który automatycznie śledzi każdą zmianę w Twoich plikach. Wyobraź sobie to jak "maszynę czasu" dla kodu — możesz cofnąć się do dowolnego momentu w historii projektu.
Praktyczny przykład: Pracujesz nad aplikacją e-commerce. Dodajesz nową funkcję płatności, ale okazuje się, że psuje to cały system logowania. Z Git możesz w 10 sekund wrócić do wersji sprzed wprowadzenia zmian i zacząć od nowa.
Dlaczego kontrola wersji jest niezbędna w zespole
Scenariusz bez kontroli wersji
Zespół 4 programistów pracuje nad tym samym projektem. Każdy ma swoją kopię na pendrive. Anna modyfikuje plik auth.js, a jednocześnie Tomek dodaje nowe funkcje do tego samego pliku. Jak połączyć te zmiany? Kto ma najnowszą wersję? Chaos gwarantowany.
Z Git sytuacja wygląda tak:
- Anna:
git add auth.js→git commit -m "Dodano dwuskładnikowe uwierzytelnianie" - Tomek:
git pull→ pobiera zmiany Anny - Tomek modyfikuje już zaktualizowany plik
- Git automatycznie łączy zmiany lub informuje o konfliktach
Wskazówka: Nawet pracując solo, używaj Git od pierwszego dnia. 73% programistów przyznaje, że Git uratował ich projekty przed katastrofą co najmniej raz.
Typy systemów kontroli wersji
Ewolucja narzędzi:
Lokalne VCS (lata 80.):
- Przykład: RCS (Revision Control System)
- Historia tylko na jednym komputerze
- Brak możliwości współpracy
Scentralizowane VCS (lata 90.):
- Przykłady: SVN, Team Foundation Server
- Jeden serwer centralny z historią
- Problem: serwer nie działa = zespół nie pracuje
Rozproszone VCS (od 2005):
- Git, Mercurial, Bazaar
- Każdy programista ma pełną kopię historii
- Możliwość pracy offline
Git — dlaczego podbił świat
Git powstał w 2005 roku, gdy Linus Torvalds (twórca Linuxa) potrzebował lepszego narzędzia do zarządzania kodem jądra systemu. Dziś 95% projektów open source i większość firm technologicznych (Google, Microsoft, Netflix) używa Git.
Kluczowe zalety Git:
Szybkość: Większość operacji dzieje się lokalnie — git log z 50,000 commitów wykonuje się w 0.1 sekundy.
Integralność: Każdy commit ma unikalny hash SHA-1 (np. a3f5c9e). Niemożliwa jest niepostrzeżona zmiana historii.
Elastyczność: Obsługuje dowolne strategie branchowania — od prostego trunk-based development po skomplikowane Git Flow.
Statystyki, które mówią wszystko:
- 87% programistów używa Git (Stack Overflow Survey 2023)
- 100 milionów repozytoriów na GitHub
- Firmy używające Git: Meta, Amazon, Spotify, Airbnb
Wskazówka: Git ma stromą krzywą nauki, ale opanowanie podstaw (add, commit, push, pull) zajmuje maksymalnie tydzień regularnej praktyki.
Podsumowanie:
- Kontrola wersji chroni przed utratą kodu i umożliwia zespołową pracę
- Git jest standardem branżowym — nieznajomość Git ogranicza możliwości kariery
- Nawet w projektach jednoosobowych Git oszczędza czas i zwiększa produktywność
- Inwestycja w naukę Git zwraca się już po pierwszym uratowanym projekcie