Разлика между Git и SVN

Git срещу SVN

Git и SVN са и софтуер. Git е SCM, управление на изходния код и разпределена система за контрол на ревизията. SVN е система за контрол на ревизията и версия за софтуер.

 Git е SCM с основен акцент върху скоростта. Той е разработен за Linux ядрото от Линус Торвалдс. Той има хранилище с възможности за проследяване на ревизията и пълна история. Това хранилище не зависи от достъп до централен сървър или мрежа. Това е безплатен софтуер. Git се разпространява под GNU, а поддръжката му се контролира от Junio ​​Hamano. Apache Subversion или SVN се разпространява под лиценза с отворен код. Това е неразпространена VCS, система за контрол на версиите. Той няма хранилище, което е или централизиран, или централизиран сървър. Използва се главно за поддържане на исторически и текущи версии на изходния код, документацията и уеб страниците. Основната цел на SVN е да бъде използван като наследник на CVS, система за съвместни версии. Той е разработен от CollabNet, Inc.

 Съдържанието, съхранявано в Git, е метаданни. Той съхранява съдържанието в папката, наречена .git папка, която има по-голям размер. .Git папката в машината е клонирано хранилище. Папката се състои от всички тагове, история на версиите, клонове и т.н., като в централното хранилище; SVN съхранява файлове. Те нямат клонирано хранилище.

 Клоновете на Git са по-лесни за работа. Системата помага за бързото обединяване на файловете, а също така и за намирането на неизточените; SVN клоновете всъщност са папка, присъстваща в хранилището. За сливане на клоните са необходими специални команди.

 SVN има глобален ревизионен номер, ревизионният номер е снимка на изходния код; Git няма това.

 Git има съдържание, криптографско хеширано. Това става чрез използването на алгоритъм, наречен хеш алгоритъм на SHA1. Тази функция помага за защита на съдържанието от повреда в хранилището поради проблеми с мрежата или повреда на диска.

Резюме:

  1. Git е разпределен VCS; SVN е неразпределен VCS.
  2. Git има централизиран сървър и хранилище; SVN няма централизиран сървър или хранилище.
  3. Съдържанието в Git се съхранява като метаданни; SVN съхранява файлове със съдържание.
  4. Git клоните са по-лесни за работа от SVN клоновете.
  5. Git няма функцията за глобален ревизионен номер, каквато има SVN.
  6. Git има по-добра защита на съдържанието от SVN.
  7. Git е разработен за ядрото на Linux от Линус Торвалдс; SVN е разработен от CollabNet, Inc.
  8. Git се разпространява под GNU, а поддръжката му се контролира от Junio ​​Hamano; Apache Subversion или SVN се разпространява под лиценза с отворен код.