Rumah  >  Artikel  >  alat pembangunan  >  Bagaimana untuk menggabungkan kod cawangan dengan git

Bagaimana untuk menggabungkan kod cawangan dengan git

青灯夜游
青灯夜游asal
2023-01-04 11:24:4810285semak imbas

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.

Bagaimana untuk menggabungkan kod cawangan dengan git

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.

Mewujudkan senario pembangunan berbilang pemain

1. Buat gudang

// 初始化仓库
git init
// 创建a.txt
touch a.txt
// 创建b.txt
touch b.txt
// 加入暂存区
git add .
// 提交
git  commit -m 'initial'

Bagaimana untuk menggabungkan kod cawangan dengan git

2. Cipta cawangan ciri

git checkout -b feature

Bagaimana untuk menggabungkan kod cawangan dengan git

3 >cirikan Cawangan untuk membangunkan ciri baharu untuk versi seterusnya, diserahkan dua kali, masing-masing mengubah suai fail a.txt dan fail b.txt.


Bagaimana untuk menggabungkan kod cawangan dengan gitCawangan induk membangunkan fungsi versi ini dan menyerahkannya dua kali serta mengubah suai fail a.txt dan fail b.txt.


Bagaimana untuk menggabungkan kod cawangan dengan gitSituasi 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.


Bagaimana untuk menggabungkan kod cawangan dengan gitPada masa ini, anda perlu menggabungkan cawangan ciri kembali ke cawangan induk Terdapat dua pilihan:

    Gabungkan cawangan ciri. terus pada cawangan induk;
  • adalah untuk membuat asas semula pada cawangan ciri dahulu, dan kemudian menggabungkan cawangan ciri pada cawangan induk.
  • Dua pilihan diterangkan di bawah:

Arahan gabungan 1: git mergegit merge digunakan untuk menggabungkan cawangan dan menggabungkan kandungan dari cawangan lain ke dalam cawangan semasa.

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;

  • Pada masa yang sama, mengikut susunan masa komit pada kedua-dua cawangan, letakkannya pada cawangan induk secara bergilir-gilir, menggunakan git Log boleh melihat susunan kronologi .

  • Rajah hasil proses di atas adalah seperti berikut:

  • 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. Bagaimana untuk menggabungkan kod cawangan dengan git

git merge feature

Bagaimana untuk menggabungkan kod cawangan dengan git


Arahan gabungan 2: git rebase Bagaimana untuk menggabungkan kod cawangan dengan git

Arahan ini intuitif daripada nama Lihat fungsinya:

untuk menukar cawangan semasa. Untuk cawangan ciri, ia ialah cawangan yang dicipta daripada nod c1 cawangan induk, jadi nya ialah c1. Jika anda melaksanakan git rebase master pada cawangan ciri, prosesnya adalah seperti berikut:
  • 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.

Bagaimana untuk menggabungkan kod cawangan dengan git

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.

Bagaimana untuk menggabungkan kod cawangan dengan git

Laksanakan arahan gitk pada cawangan ciri, yang boleh dilihat dalam antara muka:
Bagaimana untuk menggabungkan kod cawangan dengan git

  • Selepas cawangan ciri diasaskan semula, tukar semula kepada cawangan induk dan laksanakan ciri gabungan git untuk menyelesaikan operasi gabungan.

Bagaimana untuk menggabungkan kod cawangan dengan git

Laksanakan gitk pada cawangan induk, struktur cawangan adalah seperti berikut. Anda boleh melihat bahawa cawangan membentangkan garis, yang kelihatan sangat menyegarkan.

Bagaimana untuk menggabungkan kod cawangan dengan git

Nota: git stash

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.

Bagaimana untuk menggabungkan kod cawangan dengan git

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.

Bagaimana untuk menggabungkan kod cawangan dengan git

Ringkasan

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn