Git и SVN

Anonim

Git vs SVN

Git и SVN - оба программного обеспечения. Git - это SCM, управление исходным кодом и распределенная система контроля версий. SVN - это система контроля версий и управления версиями программного обеспечения.

 Git - это SCM, основной упор делается на скорость. Он был разработан для ядра Linux Линусом Торвальдсом. Он имеет хранилище с возможностями отслеживания версий и полной историей. Этот репозиторий не зависит от центрального сервера или сетевого доступа. Это бесплатное программное обеспечение. Git распространяется под GNU, а его обслуживание контролируется Юнио Хамано. Apache Subversion, или SVN, распространяется под лицензией с открытым исходным кодом. Это нераспределенная система контроля версий VCS. В нем нет репозитория, который является либо централизованным, либо централизованным сервером. Он в основном используется для хранения исторических и текущих версий исходного кода, документации и веб-страниц. Основная цель SVN должна использоваться в качестве преемника CVS, Concurrent Version System. Он был разработан CollabNet, Inc.

 Содержимое, хранящееся в Git, является метаданными. Он сохраняет содержимое в папке с именем.git, которая имеет больший размер. Папка.git в машине - это клонированный репозиторий. Папка состоит из всех тегов, историй версий, ветвей и т. Д., Как в центральном репозитории; SVN хранит файлы. У них нет клонированного хранилища.

 С филиалами Git легче работать. Система помогает быстро объединять файлы, а также помогает находить несвязанные файлы; ветви SVN фактически представляют собой папку, присутствующую в репозитории. Для объединения ветвей требуются специальные команды.

 SVN имеет глобальный номер версии, номер версии - это мгновенный снимок исходного кода; У Гита этого нет.

 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, распространяется под лицензией с открытым исходным кодом.