Rumah >alat pembangunan >git >Bagaimana untuk menggabungkan kod cawangan dengan git
Cara menggabungkan kod cawangan dengan git: 1. Gunakan arahan "git merge" Perintah ini digunakan untuk menggabungkan cawangan lain ke dalam cawangan semasa. 2. Gunakan arahan "git rebase", yang digunakan untuk menukar titik asas cawangan semasa untuk mencapai penggabungan cawangan.
Persekitaran pengendalian tutorial ini: sistem Windows 7, Versi Git2.30.0, komputer Dell G3.
Dalam projek, kami sentiasa mencipta banyak cawangan untuk membangunkan fungsi atau keperluan yang berbeza, dan kemudian menggabungkannya kembali ke cawangan utama selepas fungsi selesai. Jadi bagaimana anda boleh menggabungkan cawangan dengan anggun? Jika anda berminat pada ketika ini, anda juga boleh teruskan membaca.
// 初始化仓库 git init // 创建a.txt touch a.txt // 创建b.txt touch b.txt // 加入暂存区 git add . // 提交 git commit -m 'initial'
git checkout -b feature
Cawangan induk membangunkan fungsi versi ini dan menyerahkannya dua kali serta mengubah suai fail a.txt dan fail b.txt.
Situasi cawangan semasa adalah seperti yang ditunjukkan di bawah. Aksara pada setiap nod ialah nilai cincang setiap komit pada nod c5, dan cawangan ciri Pengepala berada pada nod c3.
Pada masa ini, anda perlu menggabungkan cawangan ciri kembali ke cawangan induk Terdapat dua pilihan:
Operasi gabungan git adalah agak ganas dan juga merupakan kaedah yang biasa digunakan Demonstrasi berikut adalah untuk menggabungkan cawangan ciri ke dalam cawangan induk >
Cari cawangan ciri Gabungkan nod komit c3 terbaharu cawangan ciri dengan nod komit c5 cawangan induk terbaharu Jika terdapat konflik pada masa ini, Kemudian selesaikan semua konflik sekaligus, dan kemudian hasilkan yang baharu commit nod c6;Arahan operasi dalam projek adalah seperti berikut. Anda boleh melihat bahawa selepas melaksanakan perintah
, terdapat konflik Masukkan ruang kerja yang digabungkan, selesaikan semua konflik sekaligus dan serahkan komitmen baharu.Laksanakan baris arahan gitk, dan anda boleh melihat cawangan semasa pada antara muka seperti yang ditunjukkan di bawah. Ada komitmen baru.
git merge feature
Arahan gabungan 2: git rebase
Cari nod komit c5 terbaharu bagi cawangan induk semasa dan tukar titik asas cawangan ciri kepada nod c5. ;
Jika terdapat percanggahan antara cawangan ciri dan cawangan induk, konflik akan diselesaikan secara berurutan berdasarkan masa penyerahan cawangan ciri dan nilai cincang komit cabang ciri akan diubah suai.
Akhir sekali, apabila dilihat pada cawangan, garis lurus muncul, tetapi terdapat masalah penimpa komit sejarah.
Hasil proses di atas ditunjukkan di bawah, di mana c2’ dan c3’ menunjukkan bahawa nilai cincang telah berubah.
Perlu diambil perhatian:
Apabila melakukan operasi rebase, anda perlu memastikan bahawa cawangan induk adalah dalam keadaan terkini, jika tidak Terdapat juga konflik semasa cantuman cantuman, yang akan kehilangan makna penggunaan rebase.
Jangan sekali-kali meletakkan semula kandungan yang telah ditolak ke alat kawalan jauh Jika seseorang menarik kod jauh, mengubah suai dan menyerahkannya, cawangan akan menjadi sangat menyusahkan.
Selepas memahami proses asas, kita boleh menggunakan arahan rebase untuk mula menggabungkan cawangan:
Dalam projek Laksanakan git rebase tuan seperti yang ditunjukkan di bawah. Oleh kerana terdapat konflik dalam kedua-dua penyerahan, konflik ini perlu diselesaikan secara berurutan dalam ruang kerja asas semula.
Laksanakan arahan gitk pada cawangan ciri, yang boleh dilihat dalam antara muka:
Selepas cawangan ciri diasaskan semula, tukar semula kepada cawangan induk dan laksanakan ciri gabungan git untuk menyelesaikan operasi gabungan.
Laksanakan gitk pada cawangan induk, struktur cawangan adalah seperti berikut. Anda boleh melihat bahawa cawangan membentangkan garis, yang kelihatan sangat menyegarkan.
Kadangkala kod pada cawangan belum dibangunkan lagi dan memerlukan untuk digabungkan Cawangan, pada masa ini anda hanya perlu:
1 Jalankan git stash untuk menyimpan kandungan ruang kerja, dan kemudian pilih dua kaedah di atas untuk menggabungkan cawangan untuk menggabungkan cawangan.2. Selepas melengkapkan penggabungan cawangan, beralih semula ke cawangan pembangunan, laksanakan git stash pop untuk muncul kandungan ruang kerja, dan kemudian anda boleh terus menulis kod dengan gembira.
git merge agak kasar dan juga merupakan kaedah yang akan dipilih oleh kebanyakan orang Disusun dalam susunan kronologi, tetapi rajah cawangan akan menjadi sangat kemas dan akan memperkenalkan komitmen yang tidak bermakna.
Git rebase ialah baris dalam rekod komit sejarah, yang sangat elegan, tetapi terdapat risiko mengubah suai komit sejarah, dan garis masa komit menjadi kucar-kacir apabila melihat log dengan log git. Pada masa yang sama, ingat bahawa kandungan yang telah ditolak ke alat kawalan jauh tidak boleh berasaskan semula , jika tidak cawangan akan menjadi kucar-kacir.
Saya secara peribadi lebih suka menggunakan kaedah rebase Lagipun, kos kognitif untuk komitmen ada, dan ia kelihatan selesa. Namun, jika ada ramai pembangun, lebih baik digabungkan Lagipun, menyelesaikan konflik satu persatu akan membosankan semua orang, hahaha
Dalam projek, kami sentiasa mencipta banyak cawangan untuk membangunkan fungsi atau keperluan yang berbeza, dan kemudian menggabungkannya kembali ke cawangan utama selepas fungsi selesai. Jadi bagaimana anda boleh menggabungkan cawangan dengan anggun? Jika anda berminat pada ketika ini, anda juga boleh teruskan membaca.
Atas ialah kandungan terperinci Bagaimana untuk menggabungkan kod cawangan dengan git. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!