Rumah > Artikel > alat pembangunan > Apakah itu git dan svn
Git ialah sistem kawalan versi teragih sumber terbuka yang digunakan untuk mengendalikan pengurusan versi projek daripada projek kecil hingga sangat besar dengan berkesan dan pantas. svn ialah sistem kawalan versi berpusat sumber terbuka yang digunakan oleh berbilang orang untuk bersama-sama membangunkan projek yang sama, merealisasikan sumber yang dikongsi, dan akhirnya mencapai pengurusan berpusat.
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi Git 2.30.0, komputer Dell G3.
Apa itu git
Git ialah sistem kawalan versi teragih sumber terbuka percuma untuk pemprosesan yang tangkas dan cekap bagi sebarang tugas atau tugasan kecil projek besar
Git ialah sistem kawalan versi teragih sumber terbuka yang digunakan untuk mengendalikan pengurusan versi projek dengan berkesan dan cepat daripada projek kecil hingga sangat besar. Git ialah perisian kawalan versi sumber terbuka yang dibangunkan oleh Linus Torvalds untuk membantu mengurus pembangunan kernel Linux.
Perbezaan terbesar antara diedarkan dan berpusat ialah pembangun boleh menyerahkan secara setempat, dan setiap pembangun menyalin repositori Git lengkap pada mesin tempatan dengan mengklon (klon git).
Git ialah sistem kawalan versi teragih
Git mempunyai ciri-ciri berikut:
Repositori setiap klon dalam Git adalah sama. Anda boleh mencipta repositori anda sendiri daripada klon mana-mana repositori, dan repositori anda juga boleh digunakan sebagai sumber untuk orang lain jika anda mahu.
Setiap operasi pengekstrakan Git sebenarnya adalah sandaran lengkap repositori kod.
Penyerahan selesai sepenuhnya secara tempatan, tiada orang lain yang perlu memberi anda kebenaran, anda adalah tuan kepada repositori anda dan penyerahan akan sentiasa berjaya.
Malah perubahan berdasarkan versi lama boleh diserahkan dengan jayanya, dan penyerahan akan membuat cawangan baharu berdasarkan versi lama.
Penyerahan Git tidak akan terganggu sehingga anda berpuas hati sepenuhnya dengan kerja anda PUSH kepada orang lain atau orang lain TARIK repositori anda akan berlaku semasa proses PULL dan PUSH diselesaikan secara automatik akan menggesa anda untuk menyelesaikannya secara manual.
Penyelesaian konflik bukan lagi pertandingan penyerahan seperti SVN, tetapi gabungan dan penyelesaian konflik dilakukan apabila diperlukan.
Git juga boleh mensimulasikan mod kerja terpusat
Repositori Git disatukan pada pelayan
Anda boleh membenarkan repositori Git: siapa yang boleh membuat repositori, siapa yang boleh PUSH ke repositori, dan siapa yang boleh membaca (mengklon) repositori
Ahli pasukan akan terlebih dahulu Mengklon repositori versi pelayan secara setempat; dan kerap tarik (PULL) kemas kini terkini daripada repositori pelayan; dengan repositori (PULL), perubahan akan diperoleh secara automatik
Model kerja terpusat Git sangat fleksibel
Anda boleh memutuskan sambungan sepenuhnya daripada rangkaian di mana pelayan Git berada, seperti semasa bekerja dalam perjalanan/perjalanan perniagaan, dan masih menggunakan perpustakaan kod seperti biasa
Anda hanya perlu boleh mengakses rangkaian di mana pelayan Git terletak , PULL dan PUSH boleh melengkapkan penyegerakan dengan pelayan dan komit
Git menyediakan arahan rebase, yang boleh menjadikan perubahan anda kelihatan berdasarkan pelaksanaan kod terkini perubahan
Git mempunyai lebih banyak mod kerja untuk dipilih daripada Subversion
SVN ialah singkatan daripada subversi Ia adalah sistem kawalan versi sumber terbuka Melalui pengurusan cekap sistem pengurusan cawangan, secara ringkasnya, ia digunakan untuk berbilang orang untuk bersama-sama membangunkan projek yang sama untuk mencapai perkongsian. sumber dan mencapai kepekatan akhir pengurusan gaya. SVN mengurus data yang berubah dari semasa ke semasa. Data ini diletakkan dalam repositori pusat. Arkib ini sama seperti pelayan fail biasa, tetapi ia mengingati setiap perubahan fail. Dengan cara ini anda boleh memulihkan fail kepada versi yang lebih lama atau menyemak imbas sejarah perubahan fail. Subversion ialah sistem tujuan umum yang boleh digunakan untuk mengurus sebarang jenis fail, termasuk kod sumber program.
SVN ialah sistem kawalan versi terpusat.
Sistem kawalan versi terpusat mempunyai pelayan terurus tunggal yang menyimpan semakan semua fail dan orang yang bekerjasama menyambung ke pelayan ini melalui klien dan mengeluarkan fail terkini atau menyerahkan kemas kini.
Ciri-ciri svn boleh diringkaskan seperti berikut:Setiap repositori mempunyai URL unik (alamat rasmi) , setiap pengguna mendapatkan kod dan data daripada alamat ini;
untuk mendapatkan kemas kini kod, mereka hanya boleh menyambung ke perpustakaan versi unik ini dan menyegerakkan untuk mendapatkan data terkini; >
Penyerahan mesti mempunyai sambungan rangkaian (repositori bukan tempatan);Penyerahan memerlukan kebenaran Jika tiada kebenaran menulis, penyerahan akan gagal; Jika orang lain menyerahkan sebelum anda, ia akan menggesa "Perubahan adalah berdasarkan versi lapuk, kemas kini dahulu dan kemudian serahkan"... dan seterusnya; kelajuan: mereka yang cepat, Hantar dahulu, dan tiada apa yang akan berlaku jika anda lambat, hantar kemudian, anda mungkin menghadapi penyelesaian konflik yang menyusahkan.
Faedah: Semua orang boleh melihat sedikit sebanyak perkara yang sedang diusahakan oleh orang lain dalam projek itu. Pentadbir juga boleh mengawal kebenaran setiap pembangun dengan mudah.
Jika ia tidak berfungsi selama satu jam, tiada siapa yang akan dapat menyerahkan kemas kini, pemulihan, perbandingan, dsb. dalam masa ini, dan mustahil untuk bekerjasama. Jika cakera pelayan pusat gagal dan tiada sandaran dibuat atau sandaran tidak cukup tepat pada masanya, terdapat risiko kehilangan data. Senario kes terburuk ialah kehilangan sepenuhnya semua rekod perubahan sejarah bagi keseluruhan projek, kecuali beberapa data syot kilat yang diekstrak oleh pelanggan, tetapi ini masih menjadi masalah kerana anda tidak dapat menjamin bahawa semua data telah diekstrak.
Skop svn dan git yang boleh digunakan yang berbeza
Objek yang boleh digunakan yang berbeza. Git sesuai untuk pembangun yang terlibat dalam projek sumber terbuka. Kerana tahap kepakaran mereka yang tinggi, mereka lebih mementingkan kecekapan daripada kemudahan penggunaan. SVN berbeza, ia sesuai untuk pasukan pembangunan syarikat biasa. Ia lebih mudah digunakan.
Git sesuai untuk pembangunan satu projek dengan berbilang peranan pembangunan melalui Internet, dan SVN sesuai untuk pembangunan berbilang projek selari dalam perusahaan yang diselaraskan oleh pengurus projek.
Git tidak mempunyai kawalan pengurusan kebenaran yang ketat Selagi anda mempunyai akaun, anda boleh mengeksport, mengimport kod dan juga melakukan operasi rollback. SVN mempunyai pengurusan kebenaran yang ketat, dan boleh mengawal kebenaran pada subdirektori tertentu mengikut kumpulan atau individu. Bezakan antara kebenaran membaca dan menulis. Lebih tegas lagi, operasi rollback tidak disokong. Pastikan kod sentiasa boleh dikesan.
Dalam Git, anda hanya boleh cawangan seluruh gudang, dan setelah dipadamkan, ia tidak boleh dipulihkan. Dalam SVN, cawangan boleh menyasarkan mana-mana subdirektori, yang pada asasnya adalah operasi penyalinan. Oleh itu, anda boleh membuat banyak cawangan hierarki, memadamnya apabila ia tidak diperlukan, dan hanya menyemak versi SVN lama apabila diperlukan pada masa hadapan.
Sebagai contoh, anda boleh menyimpan bsp/dokumen reka bentuk/sistem fail/aplikasi/skrip kompilasi automatik projek telefon mudah alih dalam gudang SVN atau menyimpan sistem fail lima projek telefon mudah alih dalam SVN. n (bilangan projek)*m (bilangan komponen) repositori mesti diwujudkan dalam git. Dalam SVN, hanya sehingga n atau m diperlukan.
Kebolehkesanan
Lakukan perkara yang sama di bawah SVN tanpa kehilangan sebarang butiran.
Kemas kini separa, pemulihan separa.
Memandangkan SVN mencipta folder .svn dalam setiap folder untuk pengurusan, ia boleh melaksanakan kemas kini separa atau memulihkan dengan mudah. Jika anda hanya ingin mengemas kini bahagian tertentu, svn boleh melakukannya dengan baik. Pada masa yang sama, jika kod ditulis dengan tidak betul, pemulihan separa boleh dicapai dengan mudah Sudah tentu, git juga boleh dipulihkan melalui versi sejarah, tetapi pemulihan separa tidak boleh dicapai dengan mudah.
"
Atas ialah kandungan terperinci Apakah itu git dan svn. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!