→ Slide 1
Systemy kontroli wersji
↓ Slide 2
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
↓ Slide 3
Trunk/branch/tag
wersja rozwojowa (trunk)
wersja zamrożona (tags, label)
odgałęzienia (branches)
↓ Slide 4
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
↓ Slide 5
Architektura
Scentralizowany (SVN, TFVC)
Rozproszony (git)
Źródło:
http://git-scm.com
↓ Slide 6
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
TFVC
git
Źródło:
http://msdn.microsoft.com
↓ Slide 7
Więcej informacji
Source control (MSDN)
git - fast version control
TFS Guide for Subversion Users