View page as slide show

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


SVN powtórka

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

  1. folder repozytorium (serwer)
  2. folder lokaly (pliki podlegające rewizjonowaniu)
  3. Workspace - mapowanie folderu serwera i lokalnego

  • Menu kontekstowe w Solution Explorer
  • Source Control Explorer
  • 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
  • Check In zatwierdzanie zmian (commit) i wysłanie do serwera
  • Pending Changes → kolejny Changeset
  • 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)
  • File → New → Project
  • Add to Source Control

  • 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.

  • 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

  • Gałęzie i etykiety (Branches and Labels)