Rumah >alat pembangunan >git >Apakah sistem kawalan versi yang dimiliki git?

Apakah sistem kawalan versi yang dimiliki git?

WBOY
WBOYasal
2021-12-01 19:33:383339semak imbas

Git ialah sistem kawalan versi teragih. Git ialah perisian kawalan versi teragih sumber terbuka yang dibangunkan oleh Linus Torvalds untuk membantu mengurus pembangunan kernel Linux Ia digunakan untuk mengendalikan pengurusan versi projek daripada projek kecil hingga sangat besar dengan berkesan.

Apakah sistem kawalan versi yang dimiliki git?

Persekitaran pengendalian tutorial ini: sistem Windows 7, mysql versi 8.0.22, komputer Dell G3.

Sistem kawalan versi apa yang dimiliki git

Git ialah sistem kawalan versi teragih.

Git mempunyai ciri-ciri berikut :

  • Repositori setiap klon (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

  • Apakah itu "kawalan versi"?

Kawalan versi ialah sistem yang merekodkan perubahan dalam kandungan satu atau beberapa fail supaya anda boleh menyemak status semakan versi tertentu dan mengundur pada masa hadapan. Sebarang jenis fail boleh dikawal versi. Jika anda seorang pereka grafik atau web, anda mungkin perlu menyimpan semua semakan imej atau fail susun atur halaman tertentu (ini mungkin ciri yang anda sangat ingin miliki), menggunakan sistem kawalan versi ( VCS) ) adalah pilihan yang bijak.

Dengan itu, anda boleh melancarkan semula fail ke keadaan sebelumnya, atau bahkan melancarkan keseluruhan projek kepada keadaannya pada titik tertentu pada masa lalu Anda boleh membandingkan butiran perubahan fail dan mengetahui apa yang berlaku pada penghujung Siapa yang mengubah suai tempat untuk mengetahui apa yang menyebabkan masalah aneh itu, siapa yang melaporkan kecacatan fungsi apabila, dan sebagainya.

Menggunakan sistem kawalan versi biasanya juga bermakna walaupun anda merosakkan dan memadam fail dalam keseluruhan projek, anda masih boleh memulihkannya dengan mudah kepada penampilan asalnya. Tetapi beban kerja tambahan adalah minimum.

Sistem kawalan versi tempatan

Ramai orang digunakan untuk menyalin keseluruhan direktori projek untuk menyimpan versi yang berbeza, dan juga boleh menukar nama dan menambah masa sandaran untuk dipaparkan perbezaannya. Satu-satunya kelebihan melakukan ini ialah ia mudah, tetapi ia juga sangat mudah untuk membuat kesilapan. Kadangkala direktori kerja keliru, dan fail yang salah ditulis secara tidak sengaja atau fail yang tidak dijangka ditimpa. Untuk menyelesaikan masalah ini, orang ramai telah membangunkan banyak sistem kawalan versi tempatan sejak dahulu, kebanyakannya menggunakan beberapa pangkalan data mudah untuk merekodkan perbezaan dalam kemas kini fail sebelumnya.

Rajah 1. Kawalan versi tempatan.Apakah sistem kawalan versi yang dimiliki git?

Yang paling popular dipanggil RCS, yang masih boleh dilihat pada banyak sistem komputer hari ini. Perintah rcs boleh digunakan walaupun selepas memasang kit alat pembangun pada sistem Mac OS X yang popular. Ia berfungsi dengan menyimpan satu set tampalan (tampalan ialah perubahan sebelum dan selepas fail disemak) pada cakera keras dengan menggunakan semua tampalan, kandungan setiap versi fail boleh dikira semula.

Sistem kawalan versi terpusat

Kemudian orang ramai menghadapi masalah lain, bagaimana untuk membenarkan pembangun pada sistem yang berbeza berfungsi bersama?

Hasilnya, Sistem Kawalan Versi Berpusat (CVCS) wujud. Sistem sedemikian, seperti CVS, Subversion dan Perforce, mempunyai pelayan terurus tunggal yang menyimpan semakan semua fail dan orang yang bekerja bersama menyambung ke pelayan ini melalui pelanggan untuk mendapatkan semula fail terkini atau membuat pembaharuan. Ini telah menjadi amalan standard untuk sistem kawalan versi selama ini.

Apakah sistem kawalan versi yang dimiliki git?

Rajah 2. Kawalan versi berpusat.

Pendekatan ini membawa banyak faedah, terutamanya berbanding Dari segi tempatan lama. VCS. Kini, 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, dan mengurus CVCS jauh lebih mudah daripada mengekalkan pangkalan data tempatan pada setiap pelanggan.

Terdapat dua sisi kepada perkara, baik dan buruk. Kelemahan yang paling jelas untuk melakukan ini ialah pelayan pusat adalah satu titik kegagalan. Jika sistem tidak berfungsi selama satu jam, tiada siapa yang akan dapat menyerahkan kemas kini pada jam ini dan tiada siapa yang akan dapat bekerjasama. Jika cakera di mana pangkalan data pusat berada menjadi rosak dan anda tidak menyandarkannya dengan betul, anda pasti akan kehilangan semua data - termasuk keseluruhan sejarah perubahan projek, hanya meninggalkan gambar individu yang disimpan oleh orang pada mesin masing-masing. Masalah serupa wujud dengan sistem kawalan versi tempatan selagi sejarah keseluruhan projek disimpan di satu lokasi, terdapat risiko kehilangan semua rekod kemas kini sejarah.

Sistem Kawalan Versi Teragih

Maka lahirlah Sistem Kawalan Versi Teragih (DVCS). Dalam sistem sedemikian, seperti Git, Mercurial, Bazaar dan Darcs, pelanggan bukan sahaja mengekstrak versi terkini petikan fail, tetapi mencerminkan sepenuhnya repositori kod. Dengan cara ini, jika mana-mana pelayan yang digunakan untuk kerja kolaboratif gagal, mana-mana gudang tempatan bercermin boleh digunakan untuk pulih selepas itu. Kerana setiap operasi pengklonan sebenarnya adalah sandaran lengkap repositori kod.

Apakah sistem kawalan versi yang dimiliki git?

Rajah 3. Kawalan versi teragih.

Tambahan pula, kebanyakan sistem ini boleh menentukan dan berfungsi dengan beberapa jarak jauh Berinteraksi dengan repositori kod akhir. Dengan cara ini, anda boleh bekerjasama dengan orang daripada kumpulan kerja yang berbeza pada projek yang sama. Anda boleh menyediakan proses kerjasama yang berbeza mengikut keperluan, seperti aliran kerja berasaskan model hierarki, yang tidak boleh dilakukan dalam sistem terpusat sebelumnya.

Pembelajaran yang disyorkan: "Tutorial Git"

Atas ialah kandungan terperinci Apakah sistem kawalan versi yang dimiliki git?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn