ZSI / Správa verzií

Správa verzií

Základy softvérového inžinierstva

Sergej Chodarev (sergejx.net)

Always Use Version Control

Version control is a time machine for your work; you can go back.

The Pragmatic Programmer, tip #28

Čo nám to dá?

Spolupráca

Zdieľaný priečinok?

V žiadnom prípade!

Zdieľaný priečinok?

Posielanie zmien?

Tiež nie

Posielanie zmien?

Systémy pre správu verzií!

Systémy pre správu verzií

Trochu histórie

Tri generácie

Prvá generácia – lokálne

Druhá generácia – centralizované

Tretia generácia – distribuované

Navrhnime si vlastný VCS!

Pracovný adresár

Snímky

Komentár k zmenám

Pokračujeme v práci

Oprava chyby

Doplňme odkaz na predchodcu

...
Parent: snapshot-99
...
Parent: snapshot-109

Ako pamätať, kde sú posledné snímky?

Vetvy

main                        snapshot-115
Version 1.0 Maintenance     snapshot-110

Značky

Version 1.0                 snapshot-99
Version 1.0.1               snapshot-110

Čo ak snímky budú robiť viacerí ľudia?

Hash

Zlučovanie zmien?

Prípravná oblasť

Koľko to všetko zaberá miesta?

Optimalizácia

Výhody

Výsledok?

Približne takto funguje Git

Use Version Control to Drive Builds, Tests, and Releases

Use commits or pushes to trigger builds, tests, releases. Use a version control tag to deploy to production.

The Pragmatic Programmer, tip #89