Repozytorium
Repozytorium (ang. repository, w skrócie repo) to zorganizowane miejsce przechowywania kodu źródłowego projektu wraz z pełną historią jego zmian. W praktyce to nie tylko zbiór plików, lecz także zapis każdej modyfikacji: kto, kiedy i dlaczego zmienił dany fragment. Dzięki temu zespół może pracować równolegle, cofać się do poprzednich wersji i rozwiązywać konflikty w sposób kontrolowany.
Na czym polega działanie repozytorium?
Współczesne repozytoria opierają się na systemach kontroli wersji, z których najpopularniejszym jest Git. Podstawowe pojęcia to:
- commit — zatwierdzona porcja zmian opatrzona opisem,
- gałąź (branch) — równoległa linia rozwoju, w której można pracować bez wpływu na wersję główną,
- merge — scalenie gałęzi z powrotem do głównego nurtu,
- historia — chronologiczny łańcuch commitów, po którym można się poruszać.
Repozytorium istnieje zwykle w dwóch odsłonach: lokalnej — na komputerze programisty, oraz zdalnej — na platformie takiej jak GitHub czy GitLab, która stanowi wspólny punkt synchronizacji zespołu.
Zastosowanie w praktyce
Repozytorium to serce nowoczesnego procesu wytwarzania oprogramowania. Wokół niego buduje się przepływ pracy w gałęziach (np. gitflow), przegląd kodu w formie pull requestów oraz automatyzację CI/CD, w której każdy wypchnięty commit uruchamia testy i — po ich przejściu — automatyczny deploy na serwer. Poza kodem w repozytoriach przechowuje się też konfigurację infrastruktury, dokumentację i pliki projektowe. Uporządkowane repozytorium z czytelną historią commitów jest jednym z najważniejszych wskaźników dojrzałości technicznej zespołu.
Powiązane pojęcia
Najczęstsze pytania
Czym różni się repozytorium lokalne od zdalnego?
Repozytorium lokalne znajduje się na komputerze programisty i pozwala pracować oraz zatwierdzać zmiany offline. Repozytorium zdalne (np. na GitHubie czy GitLabie) jest wspólnym punktem synchronizacji dla całego zespołu — do niego wypycha się i z niego pobiera zmiany.
Czy repozytorium musi być prywatne?
Nie — repozytorium może być publiczne, dostępne dla każdego (typowe dla projektów open source), albo prywatne, widoczne tylko dla uprawnionych osób. O widoczności decyduje właściciel w ustawieniach platformy hostingowej.
