Systemy kontroli wersji
Dlaczego kontrola wersji?
- repozytorium kodu (i nie tylko), kopie bezpieczeństwa - możliwość wycofania zmian
- mechanizmy współdzielenia pracy dla 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
Repozytoria
- Subversion (SVN) - architektura klient-serwer (scentralizowany), obsługa z VS możliwa dzięki wtyczkom (np. Ankh SVN)
- Git - rozproszony (klonowanie repozytorium, master repository)
- 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