Git
Git to rozproszony system kontroli wersji (DVCS – rozproszony system kontroli wersji), który umożliwia zarządzanie zmianami w kodzie źródłowym oraz innych zbiorach plików. System został pierwotnie opracowany w 2005 roku przez Linusa Torvaldsa, twórcę Linuksa, w celu wspierania rozwoju jądra tego systemu operacyjnego.
Historia
W 2005 roku zespół deweloperów pracujący nad Linuksem potrzebował nowego narzędzia do kontroli wersji, które byłoby szybkie, skalowalne i jednocześnie niezależne od zewnętrznych serwerów. Wcześniej używano CVS oraz Subversion (SVN), które okazały się niewystarczające pod względem wydajności i elastyczności.
Linus Torvalds rozpoczął prace nad Git w kwietniu 2005 roku. Pierwsza publiczna wersja (0.99) pojawiła się w lipcu tego samego roku, a w 2006 Git został udostępniony na licencji GNU GPL v2. Od tego czasu projekt rozwija się dynamicznie, a jego kod jest utrzymywany przez społeczność open‑source.
Podstawowe pojęcia
- Repozytorium – centralny katalog przechowujący wszystkie wersje plików oraz ich historię.
- Commit – zapis zmian w repozytorium, zawierający opis, autora oraz znacznik czasu.
- Branch (gałąź) – niezależna linia rozwoju, umożliwiająca równoległą pracę nad różnymi funkcjonalnościami.
- Merge (scalanie) – operacja łącząca zmiany z różnych gałęzi.
- Remote (zdalny) – odwołanie do repozytorium znajdującego się na innym serwerze.
Podstawowe polecenia
Poniżej przedstawiono najważniejsze komendy wykorzystywane w codziennej pracy z Gitem:
git init # inicjalizacja nowego repozytorium
git clone <url> # sklonowanie istniejącego repozytorium
git status # wyświetlenie statusu zmian
git add <plik> # przygotowanie pliku do commita
git commit -m "msg" # zapisanie zmian z opisem
git log # przegląd historii commitów
git branch # lista gałęzi
git checkout <branch> # przełączenie na inną gałąź
git merge <branch> # scalanie gałęzi
git pull # pobranie i scalenie zmian ze zdalnego repozytorium
git push # wysłanie lokalnych commitów do repozytorium zdalnego
Zastosowania i wpływ
Git stał się standardem de‑facto w świecie oprogramowania open‑source oraz w komercyjnych projektach programistycznych. Jego zalety to:
- Wysoka wydajność przy operacjach na dużych repozytoriach.
- Pełna historia zmian dostępna offline – każdy użytkownik ma pełną kopię repozytorium.
- Elastyczny model gałęziowania, co sprzyja metodologiom Agile i ciągłej integracji.
Powiązane narzędzia i platformy
Wokół Gita powstało wiele serwisów oraz dodatków, które ułatwiają współpracę i zarządzanie kodem:
- GitHub – platforma hostingowa umożliwiająca przeglądanie, forkowanie i zgłaszanie pull requestów.
- GitLab – rozwiązanie typu self‑hosted z wbudowanymi pipeline’ami CI/CD.
- Bitbucket – serwis Atlassian oferujący prywatne repozytoria Git oraz Mercurial.
- Mercurial – inny rozproszony system kontroli wersji, często porównywany z Gitem.
Licencja i rozwój
Git jest rozpowszechniany na licencji GNU GPL v2. Kod źródłowy znajduje się w publicznym repozytorium GitHub pod adresem git/git. Rozwój prowadzony jest przez licznych kontrybutorów z całego świata; najważniejsze decyzje techniczne podejmuje Linus Torvalds i grupa zarządzająca maintainerów.
Podsumowanie
Git to potężny, elastyczny i wydajny system kontroli wersji, który zrewolucjonizował sposób, w jaki programiści współtworzą oprogramowanie. Jego otwarta architektura, rozbudowane możliwości gałęziowania oraz szerokie wsparcie społeczności czynią z niego nieodzowne narzędzie w nowoczesnym cyklu życia oprogramowania.