Perbezaan antara git dan svn

Perbezaan antara git dan svn

Git vs svn

Git dan svn adalah perisian. Git adalah SCM, pengurusan kod sumber, dan sistem kawalan semakan yang diedarkan. SVN adalah sistem revisi dan sistem versi perisian.

 Git adalah SCM dengan penekanan utamanya pada kelajuan. Ia dibangunkan untuk kernel Linux oleh Linus Torvalds. Ia mempunyai repositori dengan kapasiti penjejakan semakan dan sejarah lengkap. Repositori ini tidak bergantung pada pelayan pusat atau akses rangkaian. Ia adalah perisian percuma. Git diedarkan di bawah GNU, dan penyelenggaraannya diawasi oleh Junio ​​Hamano. Subversif Apache, atau SVN, diedarkan di bawah lesen sumber terbuka. Ia adalah sistem kawalan VCS yang tidak diedarkan. Ia tidak mempunyai repositori yang sama ada berpusat atau pelayan berpusat. Ia digunakan terutamanya untuk mengekalkan versi kod, dokumentasi, dan laman web sejarah dan semasa. Tujuan utama SVN akan digunakan sebagai pengganti CVS, sistem versi serentak. Ia dibangunkan oleh Collabnet, Inc.

 Kandungan yang disimpan dalam Git adalah metadata. Ia menyimpan kandungan dalam folder yang disebut a .folder git, yang mempunyai saiz yang lebih besar. The .folder git di mesin adalah repositori klon. Folder ini terdiri daripada semua tag, sejarah versi, cawangan, dll., seperti di repositori pusat; SVN menyimpan fail. Mereka tidak mempunyai repositori klon.

 Cawangan git lebih mudah untuk bekerjasama. Sistem ini membantu dalam menggabungkan fail dengan cepat dan juga membantu dalam mencari yang tidak disengajakan; Cawangan SVN sebenarnya adalah folder yang ada di repositori. Untuk menggabungkan cawangan, arahan khas diperlukan.

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

 Git mempunyai kandungan yang dikhususkan secara kriptografi. Ini dilakukan dengan penggunaan algoritma yang dirujuk sebagai algoritma hash sha1. Ciri ini membantu melindungi kandungan dari rasuah repositori yang berlaku akibat masalah rangkaian atau kegagalan cakera.

Ringkasan:

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