Mengatasi konflik penggabungan di Visual Studio

Ketika Anda menggabungkan satu cabang ke cabang lain, perubahan file dari penerapan di satu cabang dapat bertentangan dengan perubahan di cabang lainnya. Git mencoba mengatasi perubahan ini dengan menggunakan riwayat dalam repositori Anda untuk menentukan seperti apa file yang digabungkan. Ketika tidak jelas cara menggabungkan perubahan, Git menghentikan penggabungan dan memberi tahu Anda file mana yang berkonflik.

Mencegah konflik penggabungan

Git pandai menggabungkan perubahan file secara otomatis dalam kebanyakan keadaan, selama konten file tidak berubah secara dramatis antar penerapan. Jika cabang Anda jauh di belakang cabang utama Anda, pertimbangkan untuk mengubah cabang Anda sebelum Anda membuka permintaan pull. Cabang rebased akan bergabung ke cabang utama Anda tanpa konflik.

Mengatasi konflik terkait penggabungan

  • Jika Anda berkolaborasi dengan orang lain di cabang yang sama, Anda mungkin melihat konflik penggabungan saat mendorong perubahan Anda.

    Cuplikan layar konflik penggabungan setelah pendorongan.

  • Visual Studio mendeteksi apakah cabang lokal yang telah Anda kerjakan berada di belakang cabang pelacakan jarak jauhnya lalu memberi Anda opsi untuk dipilih.

    Cuplikan layar opsi yang tersedia saat cabang lokal berada di belakang cabang jarak jauh.

    Catatan

    Jika repositori jarak jauh Anda mendukung Force Push, Anda dapat mengaktifkannya dengan menggunakan Git> Pengaturan.

    Dalam contoh ini, pilih Tarik lalu Dorong untuk menyertakan perubahan yang diperkenalkan ke repositori jarak jauh. Jika ada konflik penggabungan saat Anda menarik perubahan atau mencoba menggabungkan dua cabang, Visual Studio memberi tahu Anda di jendela Perubahan Git, di jendela Repositori Git, dan pada file apa pun yang berkonflik.

    Cuplikan layar pemberitahuan konflik penggabungan.

  • Jendela Perubahan Git memperlihatkan daftar file yang berkonflik di bawah Perubahan Yang Tidak Digabungkan. Untuk mulai mengatasi konflik, klik dua kali file. Atau jika Anda memiliki file dengan konflik yang dibuka di editor, Anda dapat memilih Buka Gabungkan Editor.

    Cuplikan layar status konflik penggabungan di jendela Perubahan Git.

  • Di Gabungkan Editor, mulai atasi konflik Anda dengan menggunakan salah satu metode berikut (seperti yang digambarkan dalam cuplikan layar bernomor):

    1. Buka garis demi baris konflik Anda, dan pilih antara mempertahankan sisi kanan atau kiri dengan memilih kotak centang.

      - atau -

    2. Pilih tombol Ambil Masuk (atau tekan F10) untuk menerima semua perubahan masuk, atau tombol Ambil Saat Ini (atau tekan F11) untuk menyimpan versi Anda saat ini dari semua perubahan yang bertentangan. Anda dapat melakukan hal yang sama dengan memilih salah satu kotak centang di bagian atas bingkai berdampingan.

      - atau -

    3. Edit kode Anda secara manual di jendela Hasil .

    Cuplikan layar yang memperlihatkan cara mengatasi konflik penggabungan di Visual Studio 2022.

    Tip

    Jika Anda tidak menyukai tata letak default di Gabungkan Editor, jangan ragu untuk mengubahnya dengan menggunakan menu dropdown gigi.

    Cuplikan layar opsi tata letak Gabungkan Editor.

    Misalnya, cuplikan layar berikut menunjukkan seperti apa tampilan vertikal:

    Cuplikan layar tampilan vertikal di antarmuka pengguna Gabungkan Editor.

  • Setelah selesai menyelesaikan konflik penggabungan, pilih Terima Gabung. Ulangi proses ini untuk semua file yang bertentangan.

    Cuplikan layar tindakan Terima Penggabungan di Visual Studio 2022.

  • Gunakan jendela Perubahan Git untuk membuat penerapan penggabungan dan mengatasi konflik.

    Cuplikan layar cara membuat penerapan penggabungan dengan menggunakan jendela Perubahan Git.

    Catatan

    Jika Anda ingin menyimpan semua perubahan pada file, Anda bisa mengklik kanan di bagian Perubahan Tidak Digabungkan dan pilih Pertahankan Saat Ini (Lokal) tanpa harus membuka Gabungkan Editor.

    Cuplikan layar opsi menu Pertahankan Saat Ini.

Tip

Untuk mempelajari selengkapnya tentang opsi aksesibilitas yang tersedia untuk Anda, lihat bagian Pintasan keyboard Git di halaman Tips dan trik Aksesibilitas untuk Visual Studio .

Mengonfigurasi alat diff Anda

Jika Anda .gitconfig mengatur file untuk menggunakan alat diff pihak ketiga seperti BeyondCompare atau KDiff3, Visual Studio menghormatinya. Setiap kali Visual Studio biasanya menampilkan diff, jendela terpisah dibuka di alat pilihan Anda. Misalnya, lihat pertanyaan StackOverflow ini.