Różnica między Git a SVN

Git vs SVN

Git i SVN są oprogramowaniem. Git to SCM, zarządzanie kodami źródłowymi i rozproszony system kontroli wersji. SVN jest systemem kontroli wersji i wersjonowania oprogramowania.

 Git to SCM, którego główny nacisk kładziony jest na szybkość. Został opracowany dla jądra Linuksa przez Linusa Torvaldsa. Ma repozytorium z możliwością śledzenia zmian i pełną historią. To repozytorium nie jest zależne od centralnego serwera lub dostępu do sieci. To jest wolne oprogramowanie. Git jest rozpowszechniany na GNU, a jego utrzymanie nadzorowane jest przez Junio ​​Hamano. Apache Subversion lub SVN jest rozpowszechniany na licencji open source. Jest to nie dystrybuowany VCS, system kontroli wersji. Nie ma repozytorium, które jest scentralizowane lub scentralizowane. Służy głównie do utrzymywania historycznych i bieżących wersji kodu źródłowego, dokumentacji i stron internetowych. Głównym celem SVN jest wykorzystanie go jako następcy CVS, Concurrent Version System. Został opracowany przez CollabNet, Inc.

 Treści przechowywane w Git to metadane. Przechowuje zawartość w folderze o nazwie .git folder, który ma większy rozmiar. Folder .git na komputerze jest sklonowanym repozytorium. Folder składa się ze wszystkich znaczników, historii wersji, gałęzi itp., Podobnie jak w centralnym repozytorium; SVN przechowuje pliki. Nie mają sklonowanego repozytorium.

 Łatwiej jest pracować z gałęziami Git. System pomaga w szybkim łączeniu plików, a także pomaga w znajdowaniu nie połączonych plików; gałęzie SVN są w rzeczywistości folderem obecnym w repozytorium. Do scalenia gałęzi wymagane są specjalne polecenia.

 SVN ma globalny numer wersji, numer wersji to migawka kodu źródłowego; Git tego nie ma.

 Git ma zawartość, która jest szyfrowana kryptograficznie. Odbywa się to za pomocą algorytmu zwanego algorytmem mieszającym SHA1. Ta funkcja pomaga chronić zawartość przed uszkodzeniem repozytorium z powodu problemów z siecią lub awarii dysku.

Streszczenie:

  1. Git jest rozproszonym VCS; SVN jest nie dystrybuowanym VCS.
  2. Git ma scentralizowany serwer i repozytorium; SVN nie ma scentralizowanego serwera ani repozytorium.
  3. Treść w Git jest przechowywana jako metadane; SVN przechowuje pliki zawartości.
  4. Oddziały Git są łatwiejsze w obsłudze niż gałęzie SVN.
  5. Git nie ma funkcji globalnego numeru wersji, jak SVN.
  6. Git ma lepszą ochronę treści niż SVN.
  7. Git został opracowany dla jądra Linuksa przez Linusa Torvaldsa; SVN został opracowany przez CollabNet, Inc.
  8. Git jest rozpowszechniany na GNU, a jego utrzymanie nadzorowane jest przez Junio ​​Hamano; Apache Subversion lub SVN jest rozpowszechniany na licencji open source.