Anda mungkin ingin mencoba smerge-mode
hanya membuka file yang konflik dan lakukan M-xsmerge-mode
RET. Ini akan menyoroti semua wilayah yang konflik. Ia juga menambahkan ikatan kunci untuk menyelesaikan konflik dengan mudah, berkonsultasi dengan dokumentasinya C-hfsmerge-mode
RETuntuk mengetahuinya.
Awalan default
Saya menemukan awalan default untuk smerge-mode
C-c^rumit jadi saya telah mengubahnya menjadi C-cv
(setq smerge-command-prefix "\C-cv")
Ikatan kunci penting
Bagi saya ikatan yang paling penting adalah:
smerge-next
terikat untuk smerge-command-prefixnpindah ke konflik berikutnya.
smerge-previous
terikat untuk smerge-command-prefixppindah ke konflik sebelumnya.
smerge-keep-current
terikat untuk smerge-command-prefixRETmenjaga versi kursor aktif.
smerge-keep-mine
terikat untuk smerge-command-prefixmmenyimpan perubahan Anda.
smerge-keep-other
terikat untuk smerge-command-prefixomenyimpan perubahan lainnya.
smerge-ediff
terikat untuk smerge-command-prefixEmemulai sesi tepi untuk menggabungkan konflik. Ini sama dengan vc-resolve-conflicts
(terima kasih @phils dan @Malabarba untuk menunjukkan ini).
Mengaktifkan mode smerge secara otomatis
UPDATE: Berikut ini hanya relevan pada versi Emacs sebelumnya 25.1
, berikut ini dapat menyebabkan masalah pada versi selanjutnya, lihat https://github.com/magit/magit/issues/3897
Selain itu, Anda mungkin tertarik untuk mengaktifkan secara otomatis smerge-mode
saat mengunjungi file / buffer dengan penanda konflik, Anda dapat menggunakan sesuatu seperti berikut untuk mencapai ini
(defun my-enable-smerge-maybe ()
(when (and buffer-file-name (vc-backend buffer-file-name))
(save-excursion
(goto-char (point-min))
(when (re-search-forward "^<<<<<<< " nil t)
(smerge-mode +1)))))
(add-hook 'buffer-list-update-hook #'my-enable-smerge-maybe)
Perhatikan bahwa saya menggunakan buffer-list-update-hook
dan bukan find-file-hook
karena sebagian besar waktu saya mendapatkan konflik dalam buffer yang sudah terbuka di emacs dalam hal find-file-hook
ini tidak ada gunanya.
Periksa juga metode lain yang disebutkan dalam jawaban ini
e
pada file yang ditampilkan sebagai bertentangan. Magit akan memulaiediff
untuk melakukan penggabungan dan meminta Anda setelah itu untuk mengonfirmasi perubahan Anda, lalu Anda bisa membuat file gabungan.