Різниця між Git та SVN

Git vs SVN

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

 Git - це СКМ, головний акцент - на швидкості. Він був розроблений для ядра Linux Лінусом Торвальдсом. Він має сховище з можливостями відстеження ревізії та повною історією. Цей сховище не залежить від доступу до центрального сервера чи мережі. Це безкоштовне програмне забезпечення. Git поширюється під GNU, а його підтримку контролює Хуніо Хамано. 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, а його підтримку контролює Хуніо Хамано; Apache Subversion, або SVN, поширюється під ліцензією з відкритим кодом.