Perbezaan antara komit dan menolak

Perbezaan antara komit dan menolak

Sekiranya anda adalah salah satu daripada berjuta -juta dalam komuniti pemaju, maka kemungkinan besar anda sudah mendengar tentang konsep kawalan versi. Ini adalah alat atau sistem yang kuat yang membantu anda menjaga kerja anda, membolehkan anda bergerak di sekitar fail, dokumen, dan koleksi maklumat lain yang berkaitan dengan projek anda dengan cepat. Dan terdapat banyak alat untuk pekerjaan seperti itu di pasaran, kedua -dua sumber proprietari dan terbuka. Git adalah salah satu sistem kawalan versi yang paling popular dan digunakan secara meluas di dunia hari ini dan bilangan projek yang mengejutkan bergantung pada Git untuk Kawalan Versi. Git adalah sistem kawalan versi yang diedarkan secara percuma dan terbuka yang direka untuk menjejaki perubahan kod sumber semasa pembangunan perisian.

Projek Git diwakili oleh struktur data yang dipanggil repositori di mana semua maklumat yang berkaitan dengan projek disimpan termasuk sejarah lengkap projek sejak penubuhannya. Ia menjejaki semua perubahan yang dibuat ke fail dari masa ke masa, membina garis masa semasa anda meneruskan projek. Repositori seterusnya terdiri daripada satu set gambar individu kandungan projek - pengumpulan fail dan repositori - dipanggil komitmen. Apabila anda ingin berkongsi perkembangan projek anda dengan dunia, anda perlu menolaknya ke jauh yang anda tulis akses ke. Cawangan tempatan anda tidak disegerakkan secara automatik ke repositori jauh - anda harus secara jelas menolak cawangan yang ingin anda kongsi.

Apa yang dilakukan?

Git menganggap datanya lebih seperti satu set gambar, seperti sistem fail mini atau versi projek yang dipanggil komitmen. Setiap kali anda melakukan, atau menyimpan keadaan projek anda pada bila -bila masa, Git pada dasarnya mengambil gambar tentang apa yang kelihatan seperti fail anda pada masa ini dan menyimpan rujukan kepada gambar itu. Objek komit memegang metadata untuk setiap perubahan yang dilakukan ke repositori, termasuk pengarang, komitter, tarikh komit, dan mesej log. Setiap komitmen menunjukkan objek pokok yang menangkap keadaan repositori pada ketika itu komit dilakukan, semuanya dalam satu gambar lengkap. Semasa anda membuat perubahan pada kod di sepanjang jalan, anda membuat beberapa komitmen - komit berasingan untuk setiap perubahan yang anda buat. Git memberikan setiap ID unik yang menjejaki apa, kapan dan siapa perubahan yang anda buat.

Apa yang ditolak?

Setiap pemaju mempunyai repositori peribadi mereka sendiri untuk mengesan perubahan mereka. Anda membuat perubahan anda secara tempatan dan apabila anda sudah bersedia untuk berkongsi dengan pemaju lain, anda menolaknya kembali ke repositori yang anda kongsi. Komit menyelamatkan perubahan yang anda buat hanya ke repositori tempatan tetapi tidak ke repositori jauh. Komite anda tidak disegerakkan secara automatik ke repositori jauh - anda harus secara eksplisit menolak komitmen yang ingin anda kongsi. Apabila anda menggunakan perintah push, anda menggunakan perubahan anda ke repositori hulu. Setiap projek sumber terbuka mempunyai cara tersendiri untuk menerima perubahan. Sesetengah projek menggunakan sistem kawalan versi yang diedarkan sepenuhnya di mana hanya satu orang yang boleh menolak perubahan ke repositori utama, sementara terdapat model repositori yang dikongsi di mana semua pemaju boleh menolak ke repositori bersama.

Perbezaan antara komit dan menolak

Asas

- Menolak datang setelah melakukan. Git komited rekod dan trek perubahan ke repositori dengan setiap titik komited ke objek pokok yang menangkap keadaan repositori pada ketika itu komit dilakukan, semuanya dalam satu snapshot lengkap. Tetapi melakukan menyelamatkan perubahan hanya ke repositori tempatan tetapi tidak ke repositori jauh. Git menolak kemas kini perubahan yang komited anda dan membolehkan anda menghantarnya ke repositori jauh di mana semua pemaju dapat mengaksesnya. Apabila anda menggunakan perintah push, ia hanya mengemas kini perubahan anda ke repositori hulu.

Perintah

- Komitmen git adalah makna tempatan yang direkodkan hanya pada mesin yang sebenarnya berlaku. Perintah "git komit" digunakan untuk memberitahu git untuk menyelamatkan perubahan anda ke repositori tempatan dan anda harus memberitahu Git secara khusus yang mengubah yang anda ingin sertakan dalam komit sebelum menggunakan perintah "git komit". Anda boleh menggunakan arahan "git push" untuk menolak komitmen di repositori tempatan ke repositori jauh. Perintah "PUSH" mengemas kini New Local berkomitmen pada pelayan jauh. Dorongan mengambil dua hujah: nama jauh (asal) dan nama cawangan (tuan).

Komit vs. Tolak: Carta Perbandingan

Ringkasan komit vs. Tolak

Ringkasnya, komit adalah unit asas perubahan dalam git. Tidak seperti model kawalan versi terpusat yang lain, git menganggap datanya lebih seperti satu set gambar yang dipanggil komitmen. Mereka seperti gambaran keseluruhan kandungan repositori, bersama -sama dengan semua maklumat yang berkaitan dengan projek dan hubungan keadaan repositori ini ke negeri -negeri yang direkodkan lain kerana kandungan telah berkembang dari masa ke masa. Objek komit memegang metadata untuk setiap perubahan yang dilakukan ke repositori, termasuk pengarang, komitter, tarikh komit, dan mesej log. Tetapi komited menyelamatkan perubahan hanya ke repositori tempatan tetapi tidak ke repositori jauh. Git menolak kemas kini perubahan yang komited anda dan membolehkan anda menghantarnya ke repositori jauh di mana semua pemaju dapat mengaksesnya.