cari
Rumahalat pembangunangitPenjelasan terperinci tentang contoh rebase untuk pembelajaran git

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.

Penjelasan terperinci tentang contoh rebase untuk pembelajaran git

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
Penjelasan terperinci tentang contoh rebase untuk pembelajaran git
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:
Penjelasan terperinci tentang contoh rebase untuk pembelajaran git

  • 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 )
Penjelasan terperinci tentang contoh rebase untuk pembelajaran git
Pada masa ini, laksanakan git rebase master

Selepas pangkalan semula selesai, ABCD ialah baris cawangan ciri asal, ABMC'D' ialah baris cawangan ciri baharu, dan ABM ialah baris cawangan induk (tiada perubahan)


Penjelasan terperinci tentang contoh rebase untuk pembelajaran git


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:

  1. 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)
  2. 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!

Kenyataan
Artikel ini dikembalikan pada:CSDN. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Git: Inti Kawalan Versi, GitHub: Pengekodan SosialGit: Inti Kawalan Versi, GitHub: Pengekodan SosialApr 23, 2025 am 12:04 AM

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: Sistem Kawalan Versi, GitHub: Platform HostingGit: Sistem Kawalan Versi, GitHub: Platform HostingApr 22, 2025 am 12:02 AM

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: analisis perbandinganGit dan github: analisis perbandinganApr 21, 2025 am 12:10 AM

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.

GitHub: Pengenalan kepada Platform Hosting KodGitHub: Pengenalan kepada Platform Hosting KodApr 20, 2025 am 12:10 AM

GithubiscrucialforsoftwaredevelopmentduetoitscomprehensiveCosystemforcodemanagementandcollaboration.itoffersversionControl, CommunitySupport, andToolsLikegithubactionsandpages.StartByMasteringBasicsLikeCreatingarePository

Git dan github: alat penting untuk pemajuGit dan github: alat penting untuk pemajuApr 19, 2025 am 12:17 AM

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: hubungan mereka dijelaskanGit dan github: hubungan mereka dijelaskanApr 18, 2025 am 12:03 AM

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.

Apa yang perlu anda tetapkan setelah memuat turun gitApa yang perlu anda tetapkan setelah memuat turun gitApr 17, 2025 pm 04:57 PM

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

Apa yang Harus Dilakukan Sekiranya Muat turun Git Tidak AktifApa yang Harus Dilakukan Sekiranya Muat turun Git Tidak AktifApr 17, 2025 pm 04:54 PM

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

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

SecLists

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

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)