Rumah > alat pembangunan > git > teks badan

Mengapa git menghasilkan konflik?

WBOY
Lepaskan: 2022-06-24 10:38:17
asal
10860 orang telah melayarinya

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.

Mengapa git menghasilkan konflik?

Persekitaran pengendalian artikel ini: sistem Windows 10, Git versi 2.30.0, komputer Dell G3.

Mengapa git konflik

1 Operasi konflik biasa:

  • Gabungkan dua cabang

  • <.>
  • Tarik kod gudang jauh ke tempatan

2. Sebab konflik:

Apabila menggabungkan fail, lokasi yang sama bagi fail yang sama diubah suai dan kandungannya berbeza, konflik akan berlaku

3. 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 manual

3.git add src/main/java/a.txt memberitahu Git bahawa konflik telah diselesaikan

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

(1) Senario

Dua cawangan berbeza dalam perpustakaan tempatan mengubah suai fail yang sama dan blok kod yang sama Kedua-dua cawangan menggabungkan pengubahsuaian ke dalam cawangan induk. dan induk menggabungkan yang kedua Apabila mencabangkan kod, ralat dilaporkan: konflik gabungan.

(2) Perpustakaan tempatan

<1>cawangan induk

<2> ; Buat dua cawangan

<3> 🎜>

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!

Label berkaitan:
git
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan