Artikel ini membawa anda pengetahuan yang berkaitan tentang prinsip kerja Git terutamanya menggunakan gambar dan teks untuk menerangkan secara terperinci.
Ilustrasi cara git berfungsi
Artikel ini menggambarkan arahan yang paling biasa digunakan dalam Git. Jika anda memahami serba sedikit tentang cara Git berfungsi, artikel ini boleh memberi anda pemahaman yang lebih menyeluruh.
Empat perintah di atas menyalin fail antara direktori kerja, direktori pementasan (juga dipanggil indeks) dan gudang.
git add files meletakkan fail semasa ke dalam kawasan pementasan.
git commit menjana gambar kawasan pementasan dan menyerahkannya.
git reset – fail digunakan untuk membuat asal git add files Anda juga boleh menggunakan git reset untuk membatalkan semua fail kawasan pementasan.
git checkout – fail menyalin fail dari kawasan pementasan ke direktori kerja untuk membuang pengubahsuaian tempatan.
Anda boleh menggunakan git reset -p, git checkout -p, atau git add -p untuk memasuki mod interaktif.
Anda juga boleh melangkau kawasan pementasan dan terus mengambil fail dari gudang atau menyerahkan kod terus.
git commit -a adalah bersamaan dengan menjalankan git add untuk menambah semua fail dalam direktori semasa ke kawasan pementasan dan kemudian jalankannya.
fail komit git membuat komit yang mengandungi komit terakhir serta petikan fail dalam direktori kerja. Dan fail itu ditambah ke kawasan pementasan.
git checkout HEAD – fail digulung semula untuk menyalin komit terakhir.
Imej akan digunakan dalam bentuk berikut dalam teks berikut.
Aksara 5 digit hijau mewakili ID yang diserahkan, yang masing-masing menunjuk ke nod induk. Cawangan ditunjukkan dalam oren dan menunjuk kepada komitmen tertentu. Cawangan semasa dikenal pasti oleh HEAD yang dilampirkan padanya. Gambar ini menunjukkan 5 hantaran terakhir, ed489 adalah hantaran terkini. Cawangan induk menunjuk ke komit ini, dan cawangan utama yang lain menghala ke nod komit datuk nenek.
Beza
Terdapat banyak cara untuk melihat perubahan antara komitmen, berikut ialah beberapa contoh.
Komit
Apabila menyerahkan, Git mencipta penyerahan baharu menggunakan fail dalam kawasan pementasan dan meletakkan nod pada masa itu Tetapkan sebagai nod induk. Kemudian arahkan cawangan semasa ke nod komit baharu. Dalam gambar di bawah, cawangan semasa ialah induk. Sebelum menjalankan arahan, master menunjuk ke ed489 Selepas penyerahan, master menunjuk ke nod baharu f0cec dengan ed489 sebagai nod induk.
Walaupun cawangan semasa ialah nod datuk nenek bagi penyerahan tertentu, git akan beroperasi dengan cara yang sama. Dalam rajah di bawah, komit dibuat pada cawangan utama, nod datuk cawangan induk, dan 1800b dijana. Dengan cara ini, cawangan induk bukan lagi datuk nenek kepada cawangan induk. Pada masa ini, penggabungan [1] (atau pengasingan semula [2]) adalah perlu.
Jika anda ingin menukar komit, gunakan git commit –amend. Git akan membuat komit baharu menggunakan nod induk yang sama seperti komit semasa, dan komit lama akan dibatalkan.
Contoh lain ialah mengasingkan penyerahan HEAD [3], yang akan dibincangkan kemudian.
Checkout
Arahan Checkout digunakan untuk menyalin fail daripada penyerahan sejarah (atau kawasan pementasan) ke direktori kerja, dan juga boleh digunakan untuk menukar cawangan.
Apabila nama fail diberikan (sama ada pilihan -p dihidupkan, atau nama fail dan pilihan -p dihidupkan pada masa yang sama), Git akan menyalin fail daripada komit yang ditentukan ke kawasan pementasan dan direktori kerja. Sebagai contoh, git checkout HEAD~ foo.c akan menyalin foo.c dalam nod penyerahan HEAD~ (iaitu, nod induk nod penyerahan semasa) ke direktori kerja dan menambahnya ke kawasan pementasan. (Jika tiada nod komit dinyatakan dalam arahan, kandungan akan disalin dari kawasan pementasan.) Ambil perhatian bahawa cawangan semasa tidak akan berubah.
Apabila nama fail tidak dinyatakan, tetapi cawangan (tempatan) diberikan, maka pengecam HEAD akan dialihkan ke cawangan itu (iaitu, kita "bertukar" ke cawangan itu), dan kemudian kawasan pementasan dan berfungsi direktori Kandungan dalam akan konsisten dengan nod penyerahan yang sepadan dengan HEAD. Semua fail dalam nod penyerahan baharu (a47c3 dalam rajah di bawah) akan disalin (ke kawasan pementasan dan direktori kerja yang hanya wujud dalam nod penyerahan lama (ed489) akan dipadamkan; di atas dua fail akan diabaikan dan tidak terjejas.
Jika nama fail mahupun nama cawangan tidak dinyatakan, tetapi teg, cawangan jauh, nilai SHA-1 atau sesuatu yang serupa seperti master~3, Anda mendapat nama tanpa nama cawangan yang dipanggil HEAD tertanggal (pengecam HEAD tertanggal). Ini memudahkan anda menukar antara versi sejarah. Sebagai contoh, jika anda ingin menyusun versi 1.6.6.1 Git, anda boleh menjalankan git checkout v1.6.6.1 (ini adalah label, bukan nama cawangan), menyusun, memasang dan kemudian bertukar kembali ke cawangan lain, seperti sebagai git checkout master. Walau bagaimanapun, apabila operasi komit melibatkan "KEPALA terpisah", tingkah lakunya berbeza sedikit, seperti yang diperincikan di bawah.
Ikuti akaun awam "Java Backend Technology Full Stack", balas temu duga dan dapatkan maklumat temu duga berkualiti tinggi
Apabila Logo HEAD berada dalam keadaan tertanggal Operasi komit
Apabila HEAD berada dalam keadaan terpisah (tidak dilampirkan pada mana-mana cawangan), operasi komit boleh diteruskan seperti biasa, tetapi mana-mana cawangan yang dinamakan tidak akan dikemas kini. (Anda boleh menganggap ini sebagai mengemas kini cawangan tanpa nama.)
Setelah anda bertukar ke cawangan lain, seperti induk, maka nod komit ini (mungkin) tidak lagi tersedia Ia tidak akan dirujuk dan akan dibuang. Ambil perhatian bahawa tiada apa yang akan merujuk 2eecb selepas arahan ini.
Walau bagaimanapun, jika anda ingin menyimpan keadaan ini, anda boleh menggunakan arahan git checkout -b name untuk mencipta cawangan baharu. Perintah Reset menghalakan cawangan semasa ke lokasi lain dan secara pilihan menukar direktori kerja dan indeks. Juga digunakan untuk menyalin fail dari repositori sejarah ke indeks tanpa menyentuh direktori kerja.
Jika tiada pilihan diberikan, cawangan semasa menunjukkan komitmen itu. Jika pilihan –hard digunakan, direktori kerja juga dikemas kini, dan jika pilihan –soft digunakan, ia kekal tidak berubah.
Jika nombor versi titik komit tidak diberikan, HEAD akan digunakan secara lalai. Dengan cara ini, titik cawangan kekal tidak berubah, tetapi indeks akan digulung semula ke komit terakhir Jika pilihan –hard digunakan, perkara yang sama berlaku untuk direktori kerja.
Jika nama fail (atau pilihan -p) diberikan, kesan kerja adalah serupa dengan daftar keluar dengan nama fail, kecuali indeks dikemas kini.Gabung
Arahan Gabung menggabungkan cawangan yang berbeza. Sebelum bergabung, indeks mestilah sama dengan komit semasa. Jika cawangan lain ialah datuk nenek komit semasa, arahan gabungan tidak akan melakukan apa-apa. Situasi lain ialah jika komit semasa ialah datuk nenek cawangan lain, menyebabkan penggabungan ke hadapan pantas. Penunjuk hanya dialihkan dan komit baharu dihasilkan.
Jika tidak, ia adalah gabungan sebenar. Secara lalai, gabungan tiga hala dilakukan antara komit semasa (ed489 ditunjukkan di bawah) dan komit lain (33104) dan nod datuk nenek sepunya mereka (b325c) [4]. Hasilnya adalah untuk menyimpan direktori dan indeks semasa dahulu, dan kemudian membuat komitmen baharu bersama-sama dengan nod induk 33104.
Cherry Pick
Arahan cherry-pick "menyalin" nod komit dan membuat komit baharu yang sama pada cawangan semasa .
Rebase
Rebasing ialah alternatif kepada perintah penggabungan. Gabung menggabungkan dua cabang induk menjadi satu komit, dan sejarah komit tidak linear. Basing semula memainkan semula sejarah cawangan lain pada cawangan semasa, dan sejarah komit adalah linear. Pada asasnya, ini adalah pemetik ceri automatik linear.
Arahan di atas semuanya dilakukan dalam cawangan topik, bukan cawangan induk, ulangi pada cawangan induk dan halakan cawangan ke nod baharu. Ambil perhatian bahawa komit lama tidak dirujuk dan akan dikitar semula.
Untuk mengehadkan skop rollback, gunakan pilihan –onto. Perintah berikut memainkan semula beberapa komit terakhir cawangan semasa sejak 169a6 pada cawangan induk, iaitu 2c33a.
Terdapat juga git rebase –interactive, yang membolehkan anda menyelesaikan beberapa operasi kompleks dengan lebih mudah, seperti membuang, menyusun semula, mengubah suai dan menggabungkan komit. Tiada gambar yang menunjukkan ini, lihat di sini untuk butiran: git-rebase(1)[5].
Kandungan fail sebenarnya tidak disimpan dalam indeks (.git/index) atau objek penyerahan, tetapi disimpan dalam pangkalan data (.git/objek) dalam bentuk gumpalan dan ditentukur menggunakan SHA -1 nilai. Fail indeks menyenaraikan fail gumpalan yang berkaitan dan data lain dengan pengecam. Untuk penyerahan, ia disimpan dalam bentuk pokok dan juga dikenal pasti oleh nilai cincangnya. Pokok sepadan dengan folder dalam direktori kerja, dan pokok atau objek gumpalan yang terkandung dalam pepohon sepadan dengan subdirektori dan fail yang sepadan. Setiap penyerahan menyimpan kod pengenalan pokok peringkat atasnya.
Jika diserahkan dengan HEAD yang terpisah, penyerahan terakhir akan dirujuk oleh reflog untuk HEAD. Tetapi ia menjadi tidak sah selepas beberapa ketika dan akhirnya dikitar semula, sama seperti git commit –amend atau git rebase.
Pembelajaran yang disyorkan: "Tutorial Git"
Atas ialah kandungan terperinci Penjelasan terperinci dengan gambar dan teks! Fahami cara Git berfungsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Git dan GitHub bukan perkara yang sama: Git adalah sistem kawalan versi yang diedarkan, dan GitHub adalah platform dalam talian berdasarkan Git. Git membantu pemaju menguruskan versi kod dan mencapai kerjasama melalui cawangan, gabungan dan fungsi lain; Github menyediakan kod hosting, kajian, pengurusan masalah dan fungsi interaksi sosial, meningkatkan keupayaan kerjasama Git.

Setelah memasang Git, untuk menggunakan lebih cekap, tetapan berikut diperlukan: Tetapkan Maklumat Pengguna (Nama dan Peti Mel) Pilih Editor Teks Tetapkan Alat Gabungan Luar Generasi Tetapan Kunci SSH Abaikan Mod Fail

Selesaikan: Apabila kelajuan muat turun git perlahan, anda boleh mengambil langkah -langkah berikut: periksa sambungan rangkaian dan cuba menukar kaedah sambungan. Mengoptimumkan Konfigurasi Git: Meningkatkan Saiz Penampan Pos (Git Config-Global Http.PostBuffer 524288000), dan mengurangkan had berkelajuan rendah (git config --global http.lowspeedlimit 1000). Gunakan proksi Git (seperti Git-Proxy atau Git-LFS-Proxy). Cuba gunakan klien Git yang berbeza (seperti sourcetree atau github desktop). Periksa perlindungan kebakaran

Punca muat turun git perlahan termasuk sambungan rangkaian yang lemah, masalah pelayan git, fail besar atau penyerahan besar, isu konfigurasi git, sumber komputer yang tidak mencukupi, dan faktor lain seperti perisian hasad. Penyelesaian termasuk meningkatkan sambungan rangkaian, menyesuaikan tetapan firewall, mengelakkan memuat turun fail atau penyerahan yang tidak perlu, mengoptimumkan konfigurasi git, menyediakan sumber komputer yang mencukupi, dan mengimbas dan mengeluarkan perisian hasad.

Bagaimana cara mengemas kini kod git tempatan? Gunakan Git Fetch untuk menarik perubahan terkini dari repositori jauh. Gabungkan perubahan jauh ke cawangan tempatan menggunakan git gabungan asal/& lt; nama cawangan jauh & gt;. Menyelesaikan konflik yang timbul daripada penggabungan. Gunakan git commit -m "gabungan cawangan & lt; nama cawangan jauh & gt;" untuk menghantar penggabungan dan memohon kemas kini.

Langkah -langkah untuk mengemas kini kod git: lihat kod: klon git https://github.com/username/repo.git Dapatkan perubahan terkini: Git mengambil Perubahan Gabungan: Git Gabungan Asal/Master Push Change (Pilihan): Git Push Origin Master

Anda boleh memadam cawangan git melalui langkah -langkah berikut: 1. Padam cawangan tempatan: Gunakan cawangan git -d & lt; cawangan -nama & gt; perintah; 2. Padam cawangan jauh: Gunakan git push & lt; nama jauh & gt; --elete & lt; cawangan-nama & gt; perintah; 3. Cawangan yang dilindungi: Gunakan cawangan konfigurasi git. & lt; cawangan-nama & gt; .profied true untuk menambah tetapan cawangan perlindungan.

Proses penggabungan kod Git: Tarik perubahan terkini untuk mengelakkan konflik. Beralih ke cawangan yang anda mahu bergabung. Memulakan gabungan, menyatakan cawangan untuk bergabung. Selesaikan gabungan konflik (jika ada). Pementasan dan komit gabungan, memberikan mesej komit.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)