Edytuj stronę Odnośniki Fold/unfold all ODT export Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić. ~~REVEAL~~ ====== 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 ==== Trunk/branch/tag ==== {{https://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Revision_controlled_project_visualization-2010-24-02.svg/255px-Revision_controlled_project_visualization-2010-24-02.svg.png?0x500}} ==== ==== * wersja rozwojowa (trunk) * wersja zamrożona (tags, label) * odgałęzienia (branches) ==== Repozytoria ==== * Subversion (SVN) - architektura klient-serwer (scentralizowany), obsługa z VS możliwa dzięki wtyczkom (np. {{https://ankhsvn.open.collab.net/|Ankh SVN}}) * Git - rozproszony (klonowanie repozytorium, master repository) * TFVC - podobny w architekturze do SVN ==== Architektura ==== ^ Scentralizowany (SVN, TFVC) ^ Rozproszony (git) ^ |{{http://git-scm.com/figures/18333fig0102-tn.png?300|Scentralizowany system kontroli wersji}} | {{http://git-scm.com/figures/18333fig0103-tn.png?300}}|\\ <fs x-small>Źródło: http://git-scm.com</fs> ==== 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// ==== ===== ^ [[source_control_tfs|TFVC]] ^ [[source_control_git|git]] ^ |{{https://i-msdn.sec.s-msft.com/dynimg/IC687893.png}}|{{https://i-msdn.sec.s-msft.com/dynimg/IC721397.png}}| <fs x-small>Źródło: http://msdn.microsoft.com</fs> ==== Więcej informacji ==== * [[http://msdn.microsoft.com/en-us/library/ms364074.aspx|Source control (MSDN)]] * [[http://git-scm.com/|git - fast version control]] * [[http://blogs.msdn.com/b/edhintz/archive/2011/01/18/tfs-guide-for-subversion-users.aspx|TFS Guide for Subversion Users]]