Разница между Git и SVN

Git vs SVN

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

Git - это SCM, основной упор на скорость. Он был разработан для ядра Linux Линусом Торвальдсом. Он имеет репозиторий с возможностями отслеживания изменений и полной историей. Этот репозиторий не зависит от центрального сервера или доступа к сети. Это бесплатное программное обеспечение. Git распространяется под GNU, а его обслуживание контролирует Junio ​​Hamano. Apache Subversion, или SVN, распространяется по лицензии с открытым исходным кодом. Это нераспределенная система управления версиями VCS. У него нет репозитория, который является либо централизованным, либо централизованным сервером. Он в основном используется для поддержки исторических и текущих версий исходного кода, документации и веб-страниц. Основной целью SVN является использование в качестве преемника CVS, Concurrent Version System. Разработано 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, распространяется по лицензии с открытым исходным кодом..