Konflik pada Git¶
Konflik pada Git terjadi ketika ada perubahan pada file yang sama dan di bagian yang sama oleh dua sumber yang berbeda, misalnya antara repository lokal dan remote, atau antara dua cabang yang berbeda. Konflik ini biasanya muncul saat melakukan operasi seperti merge, rebase, atau pull.
Penyebab Konflik¶
Beberapa penyebab umum terjadinya konflik pada Git antara lain:
- Dua developer mengubah baris yang sama pada file yang sama di cabang yang berbeda.
- Melakukan
pulldari remote repository yang memiliki perubahan yang bertentangan dengan perubahan lokal. - Melakukan
mergeantara dua cabang yang memiliki perubahan yang bertentangan.
Menyelesaikan Konflik¶
Saat terjadi konflik, Git akan menandai file yang bermasalah dan menghentikan proses merge atau rebase sehingga tidak perlu khawatir file asli akan rusak atau berantakan. Dalam penyelesaian konflik, kita dapat menggunakan fitur dari Visual Studio Code (VS Code) untuk membantu mengatasi konflik tersebut.
-
Buka file yang mengalami konflik di VS Code. Kamu akan melihat bagian-bagian yang ditandai dengan indikator konflik, seperti
<<<<<<<,=======, dan>>>>>>>. -
Pilih perubahan yang ingin dipertahankan. VS Code sudah menyediakan tombol-tombol seperti "Accept Current Change", "Accept Incoming Change", atau "Accept Both Changes" untuk memudahkan dalam memilih perubahan yang diinginkan.
-
Pastikan bagian yang dipilih sudah sesuai dengan yang diinginkan, lalu simpan file tersebut (biasanya ada tombol "Solve Conflict" di bawah editor).
-
Lakukan cara yang sama pada setiap file yang mengalami konflik.
-
Setelah semua konflik diselesaikan, tambahkan file yang sudah diperbaiki ke staging area dengan perintah:
- Setelah semua file yang mengalami konflik sudah ditambahkan ke staging area, lanjutkan proses
mergeataurebasedengan perintah:
bash
git commit
- Lakukan sinkronisasi dengan remote repository jika diperlukan, dengan menggunakan perintah:
Tips Menghindari Konflik¶
Mengalami konflik adalah hal yang umum dalam pengembangan perangkat lunak, tetapi ada beberapa cara untuk mengurangi kemungkinan terjadinya konflik:
- Sering melakukan
pulldari remote repository ketika ingin melakukan perubahan untuk memastikan versi selalu up-to-date. - Berkomunikasi dengan tim pengembang untuk menghindari perubahan besar pada file yang sama secara bersamaan.
- Membagi tugas pengembangan sehingga setiap developer bekerja pada bagian yang berbeda dari kode.