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ć. ~~SLIDESHOW thesis~~ ====== Systemy kontroli wersji ====== ===== Systemy kontroli Wersji ===== * Subversion (SVN) - architektura klient - serwer (scentralizowany) * Git - rozproszony (klonowanie repozytorium, master repository) * TFS Source Control - podobny w architekturze do SVN | Zcentralizowany (SVN, TFS) | Rozproszony (git) | |{{http://git-scm.com/figures/18333fig0102-tn.png?300|Zcentralizowany system kontroli wersji}} | {{http://git-scm.com/figures/18333fig0103-tn.png?300}}|\\ Źródło: http://git-scm.com ===== Wersjonowanie plików ===== {{http://svnbook.red-bean.com/en/1.1/images/ch02dia7.png}}\\ <fs large>[[zajecia:ppz2:trac_svn|SVN powtórka]]</fs> Żródło: http://svnbook.red-bean.com ===== Workspace - kopia robocza ===== - folder repozytorium (serwer) - folder lokaly (pliki podlegające rewizjonowaniu) - Workspace - mapowanie folderu serwera i lokalnego {{ http://i.msdn.microsoft.com/dynimg/IC419073.png }} ===== Podstawowe operacje ===== * Menu kontekstowe w Solution Explorer * Source Control Explorer | {{ :zajecia:znd_2014_1:tfs_sc_solution.png?300 |}} | {{ :zajecia:znd_2014_1:tfs_sce.png?300 |}} | ===== Synchronizacja plików ===== * **Check In** wysłanie lokalnej wersji do repozytorium (commit) * **Get Latest Version** pobieranie najnowszej wersji plików (uwaga: nie nadpisuje lokalnych zmian) * **Get Specific Version** pobieranie konkretnej wersji z historii (changeset, data, etykieta) * **View Pending Changes** lista zmian naniesiona lokalnie i oczekująca na zatwierdzenie * **Check Out for Edit** pobranie plików z repozytorium i zablokowanie dla innych użytkoników * **Undo Pending Changes** cofanie zaplanowanych do zatwierdzenia zmian * **View History** przeglądanie historii zmian ===== Zatwierdzanie zmian ===== * **Check In** zatwierdzanie zmian (commit) i wysłanie do serwera * **Pending Changes** -> kolejny **Changeset** | {{ :zajecia:znd_2014_1:tfs_checkin1.png?300 }} | {{ :zajecia:znd_2014_1:tfs_checkin_pending.png?300 }} | ===== Pozostałe operacje ===== * przeglądanie plików w repozytorium, dodawanie, usuwanie i zmiana nazwy i położenia plików i katalogów * **Lock/unlock** - blokowanie plików i katalogów * rozwiązywanie konfliktów * porównanie różnych wersji plików i katalogów * tworzenie gałęzi (Branch) i łączenie gałęzi (Merge) * odkładanie na półkę (Shelve) * etykiety (labels) - wersje zamrożone * adnotacje (Annotate) * właściwości plików i katalogów * usuwanie zmian naniesionych w wybranych zestawach zmian (Rollback) ===== Dodawanie projektu programistycznego do TFS ===== * **File -> New -> Project** * Add to Source Control {{ :zajecia:znd_2014_1:tfs_add_new_project.png?500 |}} ===== Operacje na zestawach zmian ===== * lista plików i zmian w każdej wersji * porównywanie dowolnych wersji * pobieranie dowolnej wersji pliku * jakie zmiany w pliku naniósł dany użytkownik (Annotate) * historia zmian: rozdzielenia, łączenia, zmiany nazw, itp. ===== Porównanie wersji i plików ===== {{http://i.msdn.microsoft.com/dynimg/IC558594.png?500}} ===== Konflikty ===== * Niemożliwe do pogodzenia jednoczesne zmiany w tym samym miejscu * Domyślnie **AutoResolve All** * Ręczne usuwanie konfliktów, wybór wersji lokalnej lub ostatniej z serwera {{http://i.msdn.microsoft.com/dynimg/IC612247.png}} ===== Rozgałęzienia ===== * Gałęzie i etykiety (Branches and Labels) {{http://i.msdn.microsoft.com/dynimg/IC452318.png}} ===== 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]]