Memahami dan Menangani Konflik Merge di Git

Merge Conflict terjadi ketika terdapat branch yang melakukan perubahan di baris yang sama. Study khasus yang di gunakan dalam pembelajaran ini adalah dari pembelajaran sebelumnya yaitu mengenal branch dan merge pada git.
Pertama lakukan modifikasi qdi file mahasiswa.html

Setalah modifikasi file coba langsung add dan commit saja seperti biasanya, karena ini file modifikasi jadi bisa gunakan perintah "git commit -am "pesan_commit""

Kita bikin alias graph untuk menampilkan tracking branch dan merge dalam bentuk visual dan sekaligus pindah ke branch master


Jika kita perhatikan Ke file mahasiswa.html kembali ke posisi semula sebelum di edit, hal ini karena saya melakukan edit di branch dev

Sekarang edit file mahasiswa.html lagi di baris yang sama dengan ketika edit di branch dev dengan tujuan ketika di merge nanti terkena konflik

Selanjutnys lakukan commit seperti biasa lalu kemudian graph untuk lihat perubahan visualnya

Kalau diperhatikan graphnya nanti kalau kita merging typenya seharusnya tree way merge

Oke coba saja kita lakukan merge dengan command "git merge dev", pastikan posisi head berada di branch master

"CONFLICT (content): Merge conflict in mahasiswa.html" artinya terjadi konflik merging | "Automatic merge failed; fix conflicts and then commit the result" artinya merging otomatis gagal karena ada konflik dan kita disuruh untuk memperbaiki konfliknat

Ketika konflik dalam editor juga ada tandanya seperti capture dibawah ini

Jika kita buka file Mahasiswa Perlu di lakukan Konfliknya

"<<<<<<< HEAD samapa =======" ini adalah baris code dari branch yang aktif | "======= sampai >>>>>>> dev" adalah baris kode dari branch yang mau digabungkan

Dalam Memperbaiki Konflik Kita bisa memilih baris kode mana yang mau di pakai atau boleh memakai kombinasi dari keduanya, berikut file mahasiswa.html setelah di kombinasi

Coba cek statusnya dan perhatikan hasilnya

"(master|MERGING)" artinya ada merging di branch master | "both modified: mahasiswa.html" maksutnya ini hasil fix merging

Setelah itu coba add dan commit saja

Jika branch dev sudah tidak dibutuhkan bisa kita hapus

Selanjutnya ada kondisi dimana kita bisa menambahkan brach baru di kondisi sebelumnya, coba lakukan "git log"

Kondisi disini ini adalah head lepas dari branchnya ketika ingin mundur ke sebuah commit

Coba buat brach baru di checkout committan yang di checkout

Head belum mengarah ke sebuah brach atau lepas dari branchnya

kalian bisa checkout ke branch test kemudian add dan commit maka akan terbentuk cabang baru di kondisi commitan yang kita mundurkan

Oke sekian tutorial ini semoga kita sama sama paham tentang konflik merging di git.

No comments:

Post a Comment