Dalam git, sebab konflik ialah apabila menggabungkan fail, lokasi yang sama bagi fail yang sama telah diubah suai dan kandungannya berbeza, iaitu lokasi yang sama bagi fail yang sama dalam dua cawangan yang diserahkan adalah berbeza. Operasi telah digabungkan, jadi konflik berlaku yang menyebabkan konflik termasuk menggabungkan dua cawangan dan menarik kod gudang jauh ke tempatan.
Persekitaran pengendalian artikel ini: sistem Windows 10, Git versi 2.30.0, komputer Dell G3.
1 Operasi konflik biasa:
Gabungkan dua cabang
2. Sebab konflik:
Apabila menggabungkan fail, lokasi yang sama bagi fail yang sama diubah suai dan kandungannya berbeza, konflik akan berlaku3. Langkah penyelesaian:
1. status git Lihat fail konflik 2.vim src/main/java/a.txt (dengan andaian a.txt ialah fail konflik, di sini ia perlu menjadi laluan penuh fail), ubah suai bahagian konflik secara manual3.git add src/main/java/a.txt memberitahu Git bahawa konflik telah diselesaikan4.git commit -m 'menyelesaikan konflik' ( Penyelesaian konflik diberi penjelasan dan boleh disesuaikan) Operasi yang berbeza bagi fail yang sama di lokasi yang sama bagi dua cawangan yang diserahkan digabungkan.Demonstrasi praktikal
bCawangan cawangan:
(3) Konflik berlaku apabila menggabungkan cawangan
Gabungkan cawangan aBranch (gabungkan cawangan aBranch ke dalam cawangan induk semasa):
Nota:
git merge: Secara lalai, Git melakukan "fast-farward merge" dan akan terus mengarahkan cawangan Master ke Develop branch.Selepas menggunakan parameter --no-ff, cantuman biasa akan dilakukan dan nod baharu akan dijana pada cawangan Master. Untuk memastikan kejelasan evolusi versi, adalah disyorkan untuk menggunakan kaedah ini.
Gabungkan cawangan bBranch sekali lagi, mengakibatkan konflik:
kandungan fail mergeTest.txt:
(4) Selesaikan konflik
Pada cawangan semasa (induk), cari fail konflik, ubah suai terus kod konflik, tambah dan komit. Nota: Kaedah mudah, gunakan vim untuk mengubah suai dan cat untuk melihat fail konflik. (Berhati-hati untuk memadamkan pembatas kod bercanggah yang dijana secara automatik oleh git) (5) Selesai konflik lengkap Nota: Penyerahan atau penggabungan akan menghasilkan nod git . Setiap nod sepadan dengan versi kod.Pembelajaran yang disyorkan: "Tutorial Git"
Atas ialah kandungan terperinci Mengapa git menghasilkan konflik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!