Git и SVN
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. Эта функция помогает защитить содержимое от повреждения хранилища из-за сетевых проблем или сбоев дисков.
Резюме:
- Git - это распределенная VCS; SVN является нераспределенной VCS.
- Git имеет централизованный сервер и репозиторий; SVN не имеет централизованного сервера или репозитория.
- Содержимое в Git хранится как метаданные; SVN хранит файлы содержимого.
- Сетки Git легче работать, чем ветви SVN.
- Git не имеет функции глобального пересмотра, например SVN.
- Git имеет лучшую защиту контента, чем SVN.
- Git был разработан для ядра Linux Linus Torvalds; SVN был разработан CollabNet, Inc.
- Git распространяется под GNU, а его обслуживание контролируется Юнио Хамано; Apache Subversion, или SVN, распространяется под лицензией с открытым исходным кодом.