Systemy kontroli wersji
Dlaczego kontrola wersji?
- repozytorium kodu (i nie tylko) z historią zmian
- mechanizmy współdzielenia pracy członków zespołu, synchronizacja zmian
- śledzenie zmian w kodzie, porównywanie różnic w wersjach kodu, patche
- rozwój kolejnych wersji i gałęzi oprogramowania oraz mechanizmy łączenia ich
- historia rozwoju, dokumentacja zmian w kolejnych wersjach
- kopie bezpieczeństwa - możliwość wycofania zmian, powrotu do poprzedniego stanu
Historia zmian projektu
Repozytoria
- Subversion (SVN) - architektura klient-serwer (scentralizowana),
obsługa z VS możliwa dzięki wtyczkom (np. Ankh SVN) - Git - architektura rozproszona,
repozytorium przechowuje pełną historię (klonowanie) - TFVC - podobny w architekturze do SVN
Kontrola wersji w VS
- Team Foundation Version Control (TFVC)
- scentralizowany, całe repozytorium znajduje się na jednym (zdalnym) serwerze
- kontrola dostępu aż do poziomu pojedynczego pliku
- rozgałęzienia to osobne katalogi
- git
- zdecentralizowany, każdy użytkownik posiada pełną kopię repozytorium
- można pracować lokalnie
- większość operacji wykonywana lokalnie (szybszy w działaniu od scentralizowanych)
- wygodny mechanizm tworzenia gałęzi
- elastyczny, możliwość wdrożenia różnych workflow
Źródło: http://msdn.microsoft.com