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

Git срещу SVN

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

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



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

 С клоновете Git се работи по-лесно. Theсистемапомага за бързото обединяване на файловете и помага за намирането на обединените; клоновете 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 от Linus Torvalds; SVN е разработен от CollabNet, Inc.
  8. Git се разпространява под GNU и поддръжката му се ръководи от Хунио Хамано; Apache Subversion или SVN се разпространява под лиценза с отворен код.