VCS (Version Control System)

VCS (Systém správy verzí) je softwarový nástroj, který eviduje veškeré změny provedené v souborech (typicky ve zdrojovém kódu) v průběhu času. Umožňuje vývojářům vracet se k dřívějším verzím, porovnávat změny a efektivně spolupracovat na stejném projektu bez rizika přepsání práce kolegů.

Typy VCS v naší infrastruktuře

V rámci naší společnosti rozlišujeme dva základní přístupy ke správě verzí:

1. Centralizované VCS (CVCS)

Všechny verze jsou uloženy na jednom centrálním serveru. Uživatelé si „půjčují“ konkrétní verze souborů.

Příklad: Subversion (SVN).

Nevýhoda: Pokud server vypadne, nikdo nemůže verzovat svou práci.

2. Distribuované VCS (DVCS)

Každý vývojář má na svém lokálním stroji (např. v rámci VDI nebo VM) kompletní kopii celé historie projektu.

Příklad: Git (náš firemní standard).

Výhoda: Většina operací probíhá lokálně a je bleskově rychlá. Práce je možná i bez připojení k WAN.

Proč je VCS klíčové pro náš byznys?

VCS tvoří základ naší digitální kontinuity:

Spolupráce: Více vývojářů může pracovat na stejné aplikaci současně díky funkcím jako „Branching“ (větvení) a „Merging“ (slučování).

Traceability (Sledovatelnost): Každá změna má svého autora a popis (commit message). To je zásadní pro bezpečnostní audity.

Experimentování: Nové funkce se vyvíjejí v oddělených větvích. Pokud experiment selže, hlavní kód (produkční web) zůstává stabilní.

CI/CD Integrace: Naše VCS je propojeno s automatickými testy. Jakmile je kód nahrán, systém jej automaticky prověří a nasadí na VPS.

Naše standardní nástroje

Správu VCS u nás zajišťuje IT Podpora a DevOps inženýři:

GitLab / GitHub Enterprise: Naše centrální platforma pro hostování Git repozitářů.

Integrace s Jira: Každá změna v kódu (commit) musí obsahovat číslo úkolu z Jiry, aby bylo jasné, proč byla provedena.

Bezpečnostní pravidla pro práci s VCS

V rámci kybernetické bezpečnosti platí přísný zákaz:

1. **Citlivá data:** Nikdy neukládejte hesla, API klíče nebo certifikáty přímo do VCS (používejte naše trezory na tajné klíče).
2. **Code Review:** Žádná změna nesmí být sloučena do hlavní větve bez schválení jiným členem **[[Vývojový tým|týmu]]**.
3. **Podepisování:** Všechny commity musí být digitálně podepsány GPG klíčem zaměstnance.

Tip pro nováčky: Pokud omylem smažete důležitý soubor v projektu, nepanikařte. Díky VCS jej můžete obnovit jediným příkazem (`git checkout`).

— Související stránky: Vývojový tým, ZIF, Jira, Kybernetická bezpečnost, VPS, VDI, Virtual Machine