Git czy SVN? 5997 0

O temacie

Autor Adanos

Zaczęty 31.07.2014 roku

Wyświetleń 5997

Odpowiedzi 0

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Git i SVN są systemami kontroli wersji, ale ich podejście do przechowywania repozytorium jest różne. Czym jest system kontroli wersji? System kontroli wersji (ang. version/revision control system) – oprogramowanie służące do śledzenia zmian głównie w kodzie źródłowym oraz pomocy programistom w łączeniu zmian dokonanych w plikach przez wiele osób w różnych momentach czasowych. Po co stosować system kontroli wersji?
  • zawsze mamy dostęp do aktualnej wersji oprogramowania,
  • łatwość przesyłania kodu pomiędzy programistami, każdy wie, że ma aktualną wersję, a nie jakąś sprzed kilku dni czy tygodni,
  • kopia zapasowa, dostęp do dowolnej wersji oprogramowania, w przypadku zepsucia czegoś w kodzie łatwo można przywrócić działający kod,
  • łatwość w zarządzaniu,
  • w przypadku zepsucia kodu wiadomo kto nawalił :P nie ma mowy o wymówkach „to nie ja!”.

Jakie są różnice między tymi systemami?
  • Git jest szybszy od SVN,
  • Subversion pozwala sprawdzić tylko poddrzewo repozytorium; Git wymaga klonowania całego repozytorium (w tym historii) i utworzenia kopii roboczej, która odzwierciedla co najmniej podzbiór elementów pod kontrolą wersji.
  • repozytoria Gita są mniejsze niż SVN (30 razy mniejsze dla projektu Mozilli),
  • Git jest systemem w pełni rozproszonym, pozwala każdemu programiście mieć pełną kontrolę lokalnie,
  • gałęzie (ang. branches) Gita są mniejsze i zużywają mniej zasobów niż gałęzie SVNa.

Główną różnicą między Gitem a SVN jest to, że Git jest systemem rozproszonym, a SVN scentralizowanym. Co to oznacza w praktyce? Wyobraźmy sobie, że mamy repozytorium gdzieś i nagle się okazuje, że nie mamy do niego dostępu (serwer przestał działać lub po prostu nie mamy dostępu do internetu). Co wtedy? Jeśli używamy SVN, to mamy kłopot. Nie możemy wtedy zrobić nowej wersji swojego projektu. Jeśli chcemy zrobić kopię projektu, musimy po prostu zrobić kopiuj, wklej. Z Gitem sprawa wygląda inaczej, możemy dokonać zmian lokalnie (repozytorium jest lokalne), bo Git jest rozproszony. Po przywróceniu łączności możemy wysłać zmiany na serwer.

Git staje się coraz bardziej popularny, wynika to z wielu zalet tego systemu kontroli wersji. Poza Gitem i SVN istnieją też inne systemy: Mercurial, CVS, TFS.

To chyba najważniejsze rzeczy :D Więcej możecie poczytać w źródłach.

Źródła: http://pl.wikipedia.org/wiki/System_kontroli_wersji
https://git.wiki.kernel.org/index.php/GitSvnComparison
http://stackoverflow.com/questions/871/why-is-git-better-than-subversion
https://help.github.com/articles/what-are-the-differences-between-svn-and-git


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry