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)
Zcentralizowany system kontroli wersji

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

Wersjonowanie plików

Żródło: http://svnbook.red-bean.com

Pobieranie kopii roboczej

Workspace - kopia robocza

folder repozytorium (serwer)

folder lokaly (pliki podlegające rewizjonowaniu)

Workspace - mpowanie folderu serwera i lokalnego

Podstawowe operacje

Menu kontekstowe w Solution Explorer

Source COntrol Explorer

Synchronizacja plików

Check In wysłanie lokalnej wersji do repozytorium (commit)

Get Latest Version aktualizacja do najnowszej wersji

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

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

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

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

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

Rozgałęzienia

Gałęzie i etykiety (Branches and Labels)

Więcej informacji

Source control (MSDN)

git - fast version control

TFS Guide for Subversion Users