Menggunakan cawangan git untuk bergabung ke dalam talian utama induk, tetapi kerana satu fail diubah suai pada masa yang sama, terdapat banyak lagi fail selepas gabungan <<<HEAD
Seperti ini! Bagaimana untuk menyelesaikan konflik? Adakah saya perlu mengedit fail konflik secara manual dan mengalih keluar <<<HEAD
>>>DEV
sebelum menyerahkan?
cd ~
mkdir demo
cd demo
git init
git status // on branch master
echo "first line " >> index.txt
git add . && git commit -m "first head"
git status // on branch master
git branch // * master
git branch dev
git checkout dev
git branch // * dev ,master
ls // index.txt
echo "sec line in dev" >> index.txt
git add . && git commit -m "in branch dev"
git checkout master
git status // on branch master
echo "sec line on branch master" >> index.txt
git add . && git commit -m "2"
git merge dev
Auto-merging index.txt
CONFLICT (content): Merge conflict in index.txt
Automatic merge failed; fix conflicts and then commit the result.
git diff index.txt
diff --cc index.txt
index dda3583,8fa96cd..0000000
--- a/index.txt
+++ b/index.txt
@@@ -1,2 -1,2 +1,6 @@@
first line
++<<<<<<< HEAD
+sec line on branch master
++=======
+ sec line in dev
++>>>>>>> dev
first line
<<<<<<< HEAD
sec line on branch master
=======
sec line in dev
>>>>>>> dev
Gabungkan pembangun kepada induk, dan fail ini muncul <<< HEAD
>>> dev
Seperti ini, bagaimana cara untuk menggabungkannya dengan jayanya? Adakah saya perlu mengeditnya secara manual dan menyerahkannya semula?
Jika terdapat konflik, anda mesti mengeditnya secara manual! Masalah ini biasanya berlaku dalam pasukan berbilang orang! Apabila menyelesaikan konflik, cuba bekerjasama dengan rakan sepasukan anda!
Jika konflik berlaku semasa cantuman apabila ditentukan bahawa ia boleh digabungkan (contohnya, apabila tiada masalah dengan kod cawangan), pemprosesan manual diperlukan. Sudah tentu, mengendalikan konflik pada tuan adalah sakit di pantat. Jadi kaedah lain diperlukan.
Terdapat dua idea:
Gunakan master untuk menggabungkan cawangan dev, supaya konflik berlaku di bawah cawangan dev Selepas menyelesaikannya secara manual, menggabungkannya kembali kepada master hanyalah langkah ke hadapan
Ya, kerana anda telah menukar tempat yang sama, anda perlu menyelesaikan konflik secara manual. Hanya gabungkan kedudukan yang ditandakan menjadi satu kod. Atau anda boleh menggunakan cherry-pick atau rebase untuk mengelakkan konflik tertentu
Secara amnya, cawangan induk digunakan untuk menggabungkan cawangan dev Konflik sebenar yang diselesaikan adalah pada dev. Adalah disyorkan untuk melihat perbezaan konflik dengan teliti untuk mengelak daripada menjejaskan kod orang lain.
Walaupun alat baris arahan sangat berkuasa, ia masih sangat mudah untuk menggunakan alat visual selepas memahami prinsip, terutamanya apabila menyelesaikan konflik.
Apabila konflik seperti itu berlaku, ia mesti diselesaikan dengan teliti secara manual. Menggunakan alat visualisasi, anda boleh melihat konflik dengan mudah dan melompat antara titik konflik dengan cepat Kebanyakan konflik boleh diselesaikan dengan hanya beberapa klik tetikus.
Adalah disyorkan untuk menggunakan git dengan baris arahan dan alat visual Alat visual yang lebih baik ialah TortoiseGit
Adalah disyorkan untuk menggunakan alat perbezaan visual seperti p4merge Selain itu, selagi pembangun menggunakan git mematuhi spesifikasi, tidak akan ada konflik induk gabungan. Adalah disyorkan untuk mengukuhkan latihan pembangun dan menyeragamkan penggunaan git pada masa ini, saya menggunakan git di sini