Materi
Konflik terjadi bila dua cabang mengubah baris yang sama dengan isi berbeda. Git tidak menebak mana yang benar; ia berhenti di tengah merge, belum membuat commit merge, dan menuliskan kedua versi ke dalam berkas. Keluarannya berbunyi CONFLICT (content): Merge conflict in diikuti nama berkasnya.
<<<<<<< HEAD
Stok pulpen: 120
=======
Stok pulpen: 150
>>>>>>> opname- Di antara <<<<<<< HEAD dan ======= adalah isi dari cabang yang sedang aktif.
- Di antara ======= dan >>>>>>> opname adalah isi dari cabang yang sedang digabungkan.
- Penanda itu sendiri harus dihapus; yang tersisa hanya isi final.
Selama konflik belum beres, git status mencantumkan berkasnya di bawah Unmerged paths dengan keterangan both modified, artinya kedua cabang mengubah berkas itu. Berkas lain yang tidak berkonflik sudah digabung dan tinggal ikut di commit penutup.
Langkah menyelesaikan
- Tulis ulang berkasnya dengan isi yang disepakati. Di simulator ini, pakai echo dengan satu tanda lebih besar.
- git add berkas itu untuk menandai konfliknya sudah selesai.
- git commit -m dengan pesan yang menjelaskan keputusanmu.
echo "Stok pulpen: 135" > stok.txt
git add stok.txt
git commit -m "Selesaikan konflik stok pulpen"Commit yang dicoba sebelum git add ditolak dengan pesan Committing is not possible because you have unmerged files. Di Git asli, git merge --abort membatalkan merge yang berkonflik dan mengembalikan keadaan sebelum merge; perintah itu tidak ada di simulator ini.