Perbezaan Antara Git dan SVN Perbezaan Antara

Anonim

Git vs SVN

Git dan SVN adalah kedua-dua perisian. Git adalah SCM, pengurusan kod sumber, dan sistem kawalan semakan yang diedarkan. SVN adalah sistem semakan semula dan sistem versi perisian.

 Git adalah SCM dengan penekanan utamanya adalah pada kelajuan. Ia dibangunkan untuk kernel Linux oleh Linus Torvalds. Ia mempunyai repositori dengan kapasiti pengesanan semakan dan sejarah lengkap. Repositori ini tidak bergantung kepada pelayan pusat atau akses rangkaian. Ia adalah perisian percuma. Git diedarkan di bawah GNU, dan penyelenggaraannya diawasi oleh Junio ​​Hamano. Apache Subversion, atau SVN, diedarkan di bawah lesen sumber terbuka. Ia adalah VCS yang tidak diedarkan, Sistem Kawalan Versi. Ia tidak mempunyai repositori yang sama ada berpusat atau pelayan terpusat. Ia digunakan terutamanya untuk mengekalkan versi kod sumber, dokumentasi, dan laman web bersejarah dan semasa. Matlamat utama SVN adalah untuk digunakan sebagai pengganti kepada CVS, Sistem Versi Bersamaan. Ia telah dibangunkan oleh CollabNet, Inc.

 Kandungan yang disimpan dalam Git adalah metadata. Ia menyimpan kandungan dalam folder yang dipanggil. folder git, yang mempunyai saiz yang lebih besar. The. folder git di dalam mesin adalah repositori yang diklon. Folder terdiri daripada semua tag, sejarah versi, cawangan, dan lain-lain, seperti dalam repositori pusat; SVN menyimpan fail. Mereka tidak mempunyai repositori yang diklon.

 Cawangan Git lebih mudah berfungsi. Sistem ini membantu dalam menggabungkan fail-fail dengan cepat dan juga membantu dalam mencari orang-orang yang tidak dikenali; cawangan SVN sebenarnya adalah sebuah folder yang terdapat dalam repositori. Untuk menggabungkan cawangan, perintah khas diperlukan.

 SVN mempunyai nombor semakan global, nombor semakan adalah pukulan snap kod sumber; Git tidak mempunyai ini.

 Git mempunyai kandungan yang dikehendaki secara kriptografi. Ini dilakukan dengan menggunakan algoritma yang dirujuk sebagai algoritma hash SHA1. Ciri ini membantu dalam melindungi kandungan dari korupsi repositori yang berlaku disebabkan masalah rangkaian atau kegagalan cakera.

Ringkasan:

  1. Git adalah VCS yang diedarkan; SVN adalah VCS tidak diedarkan.
  2. Git mempunyai pelayan terpusat dan repositori; SVN tidak mempunyai server atau repositori terpusat.
  3. Kandungan dalam Git disimpan sebagai metadata; SVN menyimpan fail kandungan.
  4. Cawangan Git lebih mudah berfungsi daripada cawangan SVN.
  5. Git tidak mempunyai ciri nombor semakan global seperti SVN.
  6. Git mempunyai perlindungan kandungan yang lebih baik daripada SVN.
  7. Git dibangunkan untuk kernel Linux oleh Linus Torvalds; SVN telah dibangunkan oleh CollabNet, Inc.
  8. Git diedarkan di bawah GNU, dan penyelenggaraannya diawasi oleh Junio ​​Hamano; Apache Subversion, atau SVN, diedarkan di bawah lesen sumber terbuka.