Resolusi konflik

Konflik terjadi ketika perubahan dilakukan pada item yang sama di ruang kerja dan repositori Git jarak jauh. Ketika konflik terjadi, status Git mengatakan Konflik dan Penerapan dinonaktifkan.

Cuplikan layar laporan dengan status Git yang bertuliskan konflik.

Saat Anda memilih Perbarui saat ada konflik, Anda akan melihat tombol Selesaikan Konflik .

Cuplikan layar pesan kesalahan dari tab kontrol sumber yang menginformasikan tentang konflik.

Ada tiga cara untuk mengatasi konflik:

Mengatasi konflik di UI

Pilih Selesaikan Konflik untuk melihat daftar semua item yang memiliki konflik. Anda kemudian dapat memilih versi mana yang akan disimpan untuk setiap item. Untuk setiap item yang berkonflik, Anda dapat memilih untuk menerima perubahan masuk dari repositori Git atau menyimpan versi saat ini yang ada di ruang kerja.

Cuplikan layar UI untuk memilih versi item yang berkonflik mana yang akan disimpan.

  • Pilih Terima perubahan yang masuk untuk menggantikan perubahan di ruang kerja. Perubahan ruang kerja hilang dan status Git berubah menjadi disinkronkan jika impor berhasil.

Catatan

Menerima perubahan masuk akan menimpa item saat ini di ruang kerja.

  • Pilih Pertahankan konten saat ini untuk menyimpan versi yang saat ini ada di ruang kerja. Setelah pembaruan selesai, status Git menjadi perubahan yang tidak dilakukan karena perubahan di ruang kerja belum diterapkan ke cabang.

  • Anda juga dapat membuka dialog bandingkan dan terapkan perubahan untuk membandingkan berbagai versi dari item yang berkonflik secara berdampingan. Meninjau perubahan dengan cara ini membantu Anda memutuskan versi mana yang akan dipertahankan sebelum menyelesaikan konflik.

Kembali ke status sebelumnya

Anda dapat mengembalikan seluruh ruang kerja atau cabang Git ke status terakhir yang disinkronkan. Jika Anda mengembalikan cabang Git ke commit sebelumnya, Anda masih dapat melihat perubahan yang dilakukan pada cabang yang belum disinkronkan. Jika Anda mengembalikan workspace, Anda akan kehilangan semua perubahan yang dilakukan pada workspace sejak commit terakhir.

Untuk kembali ke status yang disinkronkan sebelumnya, lakukan salah satu tindakan berikut:

  • Gunakan perintah Batalkan untuk mengembalikan item yang berkonflik di ruang kerja ke status terakhir yang disinkronkan.
  • Kembali ke status terakhir yang disinkronkan di Git menggunakan git revert perintah di Azure DevOps.

Anda juga dapat mengatasi konflik dengan memutuskan sambungan dan menyambungkan kembali ruang kerja. Saat Anda menyambungkan kembali, pilih arah yang ingin Anda sinkronkan. Namun, perhatikan bahwa ketika Anda menyambungkan kembali, item tersebut menimpa semua item di ruang kerja atau cabang dan bukan hanya item yang berkonflik. Ini tidak mengembalikan ruang kerja atau cabang ke status terakhir yang disinkronkan. Sebaliknya, ini menggantikan semua konten di satu lokasi dengan konten yang lain.

Mengatasi konflik dalam git

Jika Anda tidak yakin perubahan apa yang dibuat dan versi mana yang akan dipilih dan tidak ingin kembali ke status sebelumnya, Anda dapat mencoba menyelesaikan konflik dalam repositori Git dengan membuat cabang baru, menyelesaikan konflik di cabang tersebut, dan menyinkronkannya dengan yang saat ini.

Catatan

Secara bawaan, beralih cabang Git pada ruang kerja yang terhubung (atau melakukan checkout ke cabang baru) dibatasi hanya untuk admin ruang kerja. Namun, Admin ruang kerja dapat mengaktifkan pengaturan per ruang kerja Izinkan pengguna dengan setidaknya peran Kontributor untuk mengubah cabang Git untuk mendelegasikan kemampuan peralihan cabang ke Kontributor atau Anggota. Untuk informasi selengkapnya, lihat Menyambungkan ruang kerja ke repositori Git.

  1. Dari panel Kontrol sumber, lihat cabang baru menggunakan ID cabang terakhir yang disinkronkan yang ditampilkan di bagian bawah layar

    Cuplikan layar memperlihatkan cara memeriksa cabang baru dari panel kontrol sumber dengan memilih panah bawah.

    Cuplikan layar informasi ID cabang yang ditampilkan di bagian bawah layar.

    Langkah ini membuat cabang baru dari cabang yang berkonflik menggunakan status Git terakhir yang disinkronkan, sebelum perubahan dibuat yang bertentangan dengan perubahan Anda. Anda dapat melihat perubahan Anda di panel kontrol Sumber, tetapi tidak ada yang perlu diperbarui dari cabang Git. Cabang checkout menyimpan status ruang kerja saat ini, sehingga perubahan yang tidak dilakukan dipertahankan saat mengubah cabang.

  2. Terapkan perubahan Anda ke cabang baru. Cabang baru ini sekarang memiliki perubahan yang Anda buat pada item yang terhubung ke versi cabang Git sebelumnya yang tidak bertentangan dengan perubahan Anda.

  3. Dalam git, atasi konflik antara cabang asli dan cabang baru.

  4. Dalam git, gabungkan cabang baru ke cabang asli

  5. Di Fabric, pindahkan ruang kerja kembali ke cabang asli.