Systemy kontroli wersji

Writing /home/grochu/public_html/wiki/data/cache/3/3476a4c176c85be47266a9d2bf5a0364.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /home/grochu/public_html/wiki/data/cache/3/3476a4c176c85be47266a9d2bf5a0364.metadata failed
Writing /home/grochu/public_html/wiki/data/cache/0/0f479fa373ce8ab4bf8ecf578d38b9e2.i failed
Writing /home/grochu/public_html/wiki/data/cache/0/0f479fa373ce8ab4bf8ecf578d38b9e2.metadata failed

View page as slide show

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

Pobieranie kopii roboczej

Workspace - kopia robocza

  1. folder repozytorium (serwer)
  2. folder lokaly (pliki podlegające rewizjonowaniu)
  3. 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