Membetulkan Konflik
Saat anda menggabungkan repo lokal dan repo remote, ternyata anda dan teman coder anda si Pitung sama-sama mengubah file navigasi.php. Wah bagaimana ini? Apakah filenya akan saling timpa? Percuma dong pekerjaan anda atau si Pitung? Haha, janganlah sedih dan bermuram durja, git bisa mendeteksinya dan akan membantu anda untuk mengenali perbedaannya.
Hal demikian disebut dengan conflict (konflik). Git menunjukkan konflik dalam format sebagai berikut:
Auto-merging navigasi.php CONFLICT (content): Merge conflict in navigasi.php Automatic merge failed; fix conflicts and then commit the result.
Pertama-tama, git akan mencoba untuk menggabungkan secara otomatis perubahan yang dilakukan oleh anda dan si Pitung. Penggabungan otomatis ini disebut dengan auto merging. Auto merging akan berhasil jika revisi yang anda berdua lakukan tidak berada di baris code yang sama. Tapi akan gagal jika ternyata berada di baris code yang sama. Perhatikan baris yang berawalan dengan “CONFLICT”, perhatikan nama file yang ternyata bertabrakan revisinya.
Untuk membetulkannya, anda bisa membuka file navigasi.php dengan text editor ataupun IDE kesukaan anda. Di file tersebut git sudah memberikan tanda di bagian mana yang bermasalah. Git juga akan menandakan apa yang anda lakukan dan apa yang si Pitung lakukan di file tersebut. Git akan menuliskan “HEAD” sebagai revisi yang anda buat, dan “MASTER” sebagai revisi yang ada di repo remote (atau tergantung branch yang anda pull). Lakukan revisi final dan setelahnya anda stage dan commit file yang bermasalah tersebut.
- Jalankan command
cat navigasi.php
, anda akan melihat apa yang telah dilakukan oleh git untuk membantu menyelesaikan konflik di file tersebut. - Anggap kita telah melakukan revisi final.
cat navigasi.php
lagi dan lihat apa yang telah kita lakukan di navigasi.php. add
dancommit
kan file navigasi.php dengan pesan “revisi konflik navigasi.php”. Perhatikan output dari commit anda.
Petunjuk