====== Repozitář: Centrální úložiště dat ====== **Repozitář** je digitální archiv, který slouží k ukládání a správě specifických dat. V IT hraje klíčovou roli v automatizaci, bezpečnosti a týmové spolupráci. ===== 1. Softwarové repozitáře (Distribuce aplikací) ===== V systémech jako Linux nebo v mobilních OS (Android, iOS) slouží repozitář jako "sklad" prověřeného softwaru. Namísto stahování instalátorů z webu se systém připojí k oficiálnímu repozitáři. * **Bezpečnost:** Balíčky v repozitáři jsou digitálně podepsány správci distribuce. * **Závislosti:** Repozitář obsahuje metadata, díky kterým [[it:sw:package_management|správce balíčků]] ví, které knihovny musí stáhnout spolu s aplikací. * **Zrcadlení (Mirrors):** Repozitáře jsou často kopírovány na servery po celém světě, aby se snížila [[it:sw:latence|latence]] při stahování. --- ===== 2. Verzovací repozitáře (Vývoj kódu) ===== Vývojáři používají repozitáře ke správě zdrojového kódu pomocí systémů jako **Git**. Tyto repozitáře neukládají jen aktuální verzi, ale celou **historii změn**. * **Local Repository:** Kopie kódu přímo v počítači vývojáře. * **Remote Repository:** Serverová kopie (např. na GitHubu, GitLabu), která slouží jako "pravda" pro celý tým. ==== Klíčové funkce: ==== * **Commit:** Uložení změn do historie repozitáře. * **Branching:** Větvení kódu (vývoj nové funkce v izolovaném prostředí). * **Merge:** Sloučení větví zpět do hlavní části projektu. --- ===== 3. Typy repozitářů podle obsahu ===== | Typ | Příklady | Účel | | --- | --- | --- | | **Binární** | APT (Debian), PyPI (Python), npm (JS) | Distribuce hotových knihoven a aplikací. | | **Zdrojové** | GitHub, Bitbucket | Spolupráce na kódu a verzování. | | **Kontejnerové** | Docker Hub, Google Container Registry | Ukládání obrazů (images) pro kontejnery. | | **Metadata** | Maven Central | Správa závislostí pro Java projekty. | --- ===== 4. Architektura "Pull" modelu ===== Repozitáře fungují většinou na principu **Pull**. Klient (váš počítač) se dotáže repozitáře, zda existují novější verze dat. Pokud ano, stáhne pouze rozdílové změny. Tím se šetří šířka pásma a čas. ---- //Související články:// * [[it:sw:package_management|Správa balíčků v Linuxu]] * [[it:sw:git|Git: Standard pro verzování kódu]] * [[it:sw:docker|Docker Hub: Repozitář pro kontejnery]] //Tagy: {{tag>it repository git devops software-distribution development}}//