Artikel ini membawa anda pengetahuan yang berkaitan tentang Git, yang terutamanya memperkenalkan isu yang berkaitan dengan rebase dan rebase boleh difahami secara langsung sebagai menukar pangkalan. Cawangan ciri ialah cawangan berdasarkan B cawangan induk Asas ciri ialah B. Saya harap ia akan membantu semua orang.
Kajian yang disyorkan: "Tutorial Pembelajaran Git"
Artikel ini menggunakan contoh paling mudah untuk membantu anda menguasai prinsip dan penggunaan dengan cepat of rebase
1. Gambar rajah nod penyerahan
Pertama, mari kita alami apa yang dilakukan oleh rebase melalui gambar rajah nod penyerahan
Dua cabang induk dan ciri, di mana ciri adalah daripada titik penyerahan B Cawangan yang ditarik daripada induk
mempunyai komit M baharu pada induk, dan terdapat dua komit baharu C dan D pada ciri
Pada masa ini, tukar kepada ciri branch dan laksanakan arahan berikut , yang bersamaan dengan ingin menggabungkan cawangan induk ke dalam cawangan ciri (senario langkah ini boleh dibandingkan dengan kami telah membangunkan ciri cawangan kami sendiri untuk seketika dan bersedia untuk menarik perubahan terkini daripada induk batang)
git checkout featuregit rebase master //这两条命令等价于git rebase master feature
Gambar berikut ialah gambarajah nod komit selepas asas semula, terangkan prinsip kerjanya:
- ciri: cawangan akan berasaskan semula , cawangan semasa
- induk: cawangan asas, cawangan sasaran
Penjelasan rasmi (jika anda tidak faham, anda boleh membaca perenggan seterusnya secara langsung): Apabila melakukan operasi rebase, git akan bermula dari dua cawangan. Nenek moyang yang sama mula mengekstrak pengubahsuaian pada cawangan untuk diasaskan semula, kemudian menunjuk cawangan untuk diasaskan semula kepada komit terkini cawangan asas, dan akhirnya menggunakan pengubahsuaian hanya diekstrak ke belakang komit terkini cawangan asas.
Terangkan dengan contoh: Apabila melaksanakan git rebase master pada cawangan ciri, git akan mengekstrak pengubahsuaian pada cawangan ciri bermula daripada nenek moyang biasa B master dan featuer, iaitu, C dan D Dua komit, diekstrak dahulu. Kemudian arahkan cawangan ciri ke komit terkini cawangan induk, iaitu M. Akhir sekali, C dan D yang diekstrak disambungkan kepada M, tetapi proses ini adalah untuk memadamkan C dan D asal dan menghasilkan kandungan penyerahan C’ dan D’ yang baharu, tetapi id komit adalah berbeza. Sememangnya, ciri akhirnya menunjuk kepada D'.
Penjelasan popular (penting!!) : rebase, rebase, boleh difahami secara langsung sebagai menukar pangkalan. Cawangan ciri ialah cawangan yang ditarik dari B cawangan induk, dan asas ciri ialah B. Dan jika induk mempunyai komit baharu selepas B, ia bersamaan dengan menggunakan komit baharu pada induk sebagai asas baharu cawangan ciri. Operasi sebenar adalah untuk menyimpan penyerahan ciri selepas B, kemudian padamkan penyerahan asal, kemudian cari lokasi penyerahan terbaharu induk, dan kemudian sambungkan penyerahan yang disimpan (nod baharu dengan id komit baharu), supaya asas cawangan ciri agak Yu menjadi M dan bukannya B asal. (Perhatikan bahawa jika tiada komit baru pada induk selepas B, maka B asal masih akan digunakan sebagai asas. Operasi rebase adalah bersamaan dengan tidak sah. Pada masa ini, pada dasarnya tiada perbezaan daripada git merge. Satu-satunya perbezaannya ialah git merge akan mempunyai satu lagi rekod Merge Submission rekod operasi)
Contoh di atas boleh disarikan ke dalam senario kerja sebenar berikut: Zhang San menarik kod daripada B untuk pembangunan, dan telah menyerahkannya dua kali setakat ini, dan mengembangkannya kepada D; Li Si juga bermula dari B B menariknya dan membangunkannya Selepas pembangunan selesai, dia menyerahkannya kepada M dan kemudian menggabungkannya ke dalam batang utama. Pada masa ini, Zhang San ingin menurunkan kod terbaharu, jadi dia melaksanakan git rebase master pada cawangan ciri, iaitu, meletakkan semula cawangan induk Memandangkan Li Si telah membangunkan dan menggabungkan batang lebih awal, ini adalah bersamaan dengan Zhang San berdasarkan penghujahan terbaru Li Si M telah dibangunkan.
2. Contoh penyerahan git sebenar
Rekod penyerahan dibina mengikut rajah di atas, seperti yang ditunjukkan dalam rajah di bawah: (ABM ialah garisan cawangan induk, ABCD ialah baris cawangan ciri . Di sini induk menukar warna dan bercabang Ini tidak menjejaskan pemahaman bahawa ia bermakna dua cabang dan dua baris )
Pada masa ini, laksanakan git rebase master
3. Senario penggunaan yang disyorkan Terdapat begitu banyak perkara yang perlu dilakukan, tetapi ini sebenarnya perkara yang paling penting. Syarikat yang berbeza dan situasi yang berbeza mempunyai senario penggunaan yang berbeza, tetapi dalam kebanyakan kes pengesyoran adalah seperti berikut:
- Apabila menarik kod terbaharu daripada cawangan awam, gunakan rebase, iaitu git pull -r atau git pull --rebase, tetapi satu kelemahan ialah selepas rebase, saya tidak tahu cawangan mana semasa saya cawangan mula-mula ditarik dari. Ia keluar kerana pangkalan telah berubah. (Disebabkan ini, kebanyakan syarikat sebenarnya tidak menggunakan rebase dan pada asasnya menggunakan gabungan. Walaupun akan ada rekod penyerahan yang tidak bermakna "Gabung... ke...", sekurang-kurangnya mereka boleh tahu siapa yang melakukan apa)
- Apabila bergabung kod ke cawangan awam, gunakan gabungan. (Jika anda menggunakan rebase, maka jika pembangun lain ingin melihat sejarah cawangan utama, ia bukan sejarah asal. Sejarah telah diganggu oleh anda. Contohnya, Zhang San dan Li Si menarik pembangunan daripada yang biasa nod. Zhang San menyelesaikan pembangunan dahulu dan menyerahkan dua Kemudian gabungan itu meningkat, dan Li Si kemudiannya membangunkan dan mengasaskannya semula (perhatikan bahawa Li Si perlu beralih ke cawangan utama, kemudian laksanakan git rebase, dan kemudian git pull ke remote tamat), maka penyerahan baharu Li Si menjadi penyerahan baharu Zhang San Pangkalan baharu yang diserahkan, pada asalnya penyerahan Li Si adalah yang terkini, tetapi penyerahan terkini menunjukkan bahawa penyerahan itu adalah milik Zhang San, dan semuanya menjadi salah)
Pembelajaran yang disyorkan: "Tutorial Git 》
Atas ialah kandungan terperinci Penjelasan terperinci tentang contoh rebase untuk pembelajaran git. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Git dan GitHub adalah alat utama untuk pembangunan perisian moden. GIT menyediakan keupayaan kawalan versi untuk menguruskan kod melalui repositori, cawangan, melakukan dan menggabungkan. GitHub menyediakan kod hosting dan kolaborasi seperti isu dan PullRequests. Menggunakan Git dan GitHub dapat meningkatkan kecekapan pembangunan dan keupayaan kerjasama pasukan.

GIT adalah sistem kawalan versi yang diedarkan yang dibangunkan oleh Linus Torvaz pada tahun 2005, dan GitHub adalah platform hosting kod berasaskan Git yang ditubuhkan pada tahun 2008. GIT menyokong cawangan dan menggabungkan melalui fail pengurusan snapshot, dan GitHub menyediakan permintaan tarik, penjejakan masalah dan mengkaji semula fungsi untuk memudahkan kolaborasi pasukan.

Git dan GitHub adalah alat utama dalam pembangunan perisian moden. Git adalah sistem kawalan versi yang diedarkan, dan GitHub adalah platform hosting kod berasaskan Git. Ciri -ciri teras GIT termasuk kawalan versi dan pengurusan cawangan, manakala GitHub menyediakan alat pengurusan kerjasama dan projek. Apabila menggunakan Git, pemaju boleh menjejaki perubahan fail dan bekerjasama; Apabila menggunakan GitHub, pasukan boleh bekerjasama melalui PullRequests dan isu.

GithubiscrucialforsoftwaredevelopmentduetoitscomprehensiveCosystemforcodemanagementandcollaboration.itoffersversionControl, CommunitySupport, andToolsLikegithubactionsandpages.StartByMasteringBasicsLikeCreatingarePository

Git dan GitHub adalah alat penting untuk pemaju moden. 1. Gunakan Git untuk Kawalan Versi: Buat cawangan untuk pembangunan selari, menggabungkan cawangan, dan roll ralat. 2. Gunakan GitHub untuk Kerjasama Pasukan: Kajian Kod melalui PullRequest untuk menyelesaikan gabungan konflik. 3. Petua Praktikal dan Amalan Terbaik: Kirim secara teratur, serahkan mesej dengan jelas, gunakan .gitignore, dan sandarkan asas kod secara teratur.

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


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

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

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

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)