Rumah > Artikel > alat pembangunan > Adakah prinsip pelaksanaan git dan svn sama?
Prinsip pelaksanaan git dan svn adalah berbeza; git ialah sistem kawalan versi teragih, svn bukan ini adalah perbezaan teras antara sistem kawalan versi git dan svn Ia disimpan dalam mod metadata , manakala svn disimpan dalam mod fail.
Persekitaran pengendalian artikel ini: sistem Windows 10, Git versi 2.30.0, komputer Dell G3.
Adakah prinsip pelaksanaan git dan svn sama?
Git ialah sistem kawalan versi teragih sumber terbuka, digunakan untuk menangani sebarang masalah dengan cepat dan cekap Mengunjurkan kecil atau besar.
Git ialah perisian kawalan versi sumber terbuka yang dibangunkan oleh Linus Torvalds untuk membantu mengurus pembangunan kernel Linux.
Git berbeza daripada alat kawalan versi yang biasa digunakan seperti CVS dan Subversion Ia menggunakan perpustakaan versi teragih dan tidak memerlukan sokongan perisian sebelah pelayan.
1. Perbezaan antara Git dan SVN
GIT bukan sahaja sistem kawalan versi, ia juga sistem pengurusan kandungan (CMS), sistem pengurusan kerja, dll.
Jika anda seorang yang mempunyai latar belakang dalam menggunakan SVN, anda perlu membuat perubahan ideologi tertentu untuk menyesuaikan diri dengan beberapa konsep dan ciri yang disediakan oleh GIT.
Perbezaan antara Git dan SVN:
1 GIT diedarkan, SVN bukan: Ini ialah GIT dan sistem kawalan versi tidak teragih lain, seperti SVN , CVS, dsb., perbezaan teras.
2. GIT menyimpan kandungan sebagai metadata, manakala SVN menyimpan kandungan sebagai fail: semua sistem kawalan sumber menyembunyikan metamaklumat fail dalam fail seperti folder .svn, .cvs dll.
3. Cawangan GIT berbeza daripada cawangan SVN: cawangan tidak istimewa sama sekali dalam SVN, ia hanyalah satu lagi direktori dalam repositori.
4. GIT tidak mempunyai nombor versi global, tetapi SVN mempunyai: Setakat ini, ini adalah ciri terbesar yang kurang GIT berbanding SVN.
5. Integriti kandungan GIT lebih baik daripada SVN: Storan kandungan GIT menggunakan algoritma cincang SHA-1. Ini memastikan integriti kandungan kod dan mengurangkan gangguan kepada repositori sekiranya berlaku kegagalan cakera dan masalah rangkaian.
2. Prinsip Git: Ruang kerja Git, kawasan pementasan dan repositori
Konsep asas
Mari kita mulakan dengan Memahami konsep ruang kerja Git, kawasan pementasan dan repositori
Ruang Kerja: Ia ialah direktori yang boleh anda lihat pada komputer anda.
Kawasan storan sementara: dipanggil pentas, atau indeks dalam bahasa Inggeris. Ia biasanya disimpan dalam fail indeks (.git/index) di bawah "direktori .git", jadi kami kadangkala memanggil kawasan storan sementara indeks (indeks).
Repositori: Terdapat direktori tersembunyi .git dalam ruang kerja Ini bukan ruang kerja, tetapi repositori Git.
Rajah berikut menunjukkan hubungan antara kawasan kerja, kawasan pementasan dalam repositori dan repositori:
Bahagian kiri rajah ialah kawasan kerja, dengan perpustakaan versi di sebelah kanan. Kawasan bertanda "indeks" dalam repositori ialah kawasan pementasan (peringkat, indeks), dan kawasan bertanda "induk" ialah pokok direktori yang diwakili oleh cawangan induk.
Dalam gambar, kita dapat melihat bahawa "KEPALA" sebenarnya adalah "kursor" yang menunjuk ke cawangan induk. Oleh itu, apabila HEAD muncul dalam arahan yang ditunjukkan dalam rajah, ia boleh digantikan dengan master.
Kawasan yang dikenal pasti oleh objek dalam gambar ialah perpustakaan objek Git, yang sebenarnya terletak dalam direktori ".git/objects", yang mengandungi pelbagai objek dan kandungan yang dicipta.
Apabila arahan "git add" dilaksanakan pada fail yang diubah suai (atau ditambah) dalam ruang kerja, pepohon direktori dalam kawasan storan sementara dikemas kini dan kandungan fail diubah suai (atau ditambah) dalam ruang kerja ditulis ke objek baharu dalam pustaka objek, dan ID objek direkodkan dalam indeks fail kawasan storan sementara.
Apabila melakukan operasi komit (git commit), pepohon direktori dalam kawasan storan sementara ditulis ke perpustakaan versi (pustaka objek), dan cawangan induk akan dikemas kini dengan sewajarnya. Iaitu, pokok direktori yang ditunjuk oleh induk ialah pokok direktori bagi kawasan simpanan sementara pada masa penyerahan.
Apabila arahan "git reset HEAD" dilaksanakan, pepohon direktori dalam kawasan pementasan akan ditulis semula dan digantikan dengan pepohon direktori yang ditunjuk oleh cawangan induk, tetapi ruang kerja tidak akan terjejas.
Apabila perintah "git rm --cached
Apabila perintah "git checkout ." atau "git checkout --
Apabila arahan "git checkout HEAD ." atau "git checkout HEAD
Pembelajaran yang disyorkan: "Tutorial Git"
Atas ialah kandungan terperinci Adakah prinsip pelaksanaan git dan svn sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!