→ Slide 1

Systemy kontroli wersji

→ Slide 2
  • 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
→ Slide 3
trunk - wersja rozwojowa
branches - odgałęzienia
tags - wersja zamrożona (np. v.1.0)
→ Slide 4
  • 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
→ Slide 5
Scentralizowany (SVN, TFVC) Rozproszony (git)
Scentralizowany system kontroli wersji

Źródło: http://git-scm.com

→ Slide 6
  • 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

→ Slide 7