git merge cawangan dev digabungkan menjadi induk bagaimana untuk menyelesaikan konflik
黄舟
黄舟 2017-05-02 09:23:41
0
6
1314

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"

Mula menggabungkan pembangun untuk menguasai dan melaporkan ralat

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 // pada master

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

Keseluruhan kandungan fail index.txt, di bawah cawangan induk

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?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

membalas semua(6)
淡淡烟草味

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:

  1. 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

  2. Gunakan git rebase
黄舟

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

过去多啦不再A梦

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan