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

trunk - wersja rozwojowa branches - odgałęzienia tags - wersja zamrożona (np. v.1.0)

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

Scentralizowany (SVN, TFVC)	Rozproszony (git)
Scentralizowany system kontroli wersji

http://git-scm.com

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

http://msdn.microsoft.com

What is source control?

git - fast version control

Git w Visual Studio i Azure Repos