Bạn có thể muốn thử smerge-mode
chỉ cần mở tệp xung đột và làm M-xsmerge-mode
RET. Nó sẽ làm nổi bật tất cả các khu vực xung đột. Nó cũng bổ sung các phím bấm để dễ dàng giải quyết các xung đột, tham khảo ý kiến của nó C-hfsmerge-mode
RETđể biết chúng.
Tiền tố mặc định
Tôi tìm thấy tiền tố mặc định cho smerge-mode
C-c^cồng kềnh vì vậy tôi đã thay đổi nó thành C-cv
(setq smerge-command-prefix "\C-cv")
Bàn phím quan trọng
Đối với tôi các ràng buộc quan trọng nhất là:
smerge-next
ràng buộc để smerge-command-prefixndi chuyển đến xung đột tiếp theo.
smerge-previous
ràng buộc để smerge-command-prefixpdi chuyển đến xung đột trước đó.
smerge-keep-current
ràng buộc để smerge-command-prefixRETgiữ phiên bản con trỏ được bật.
smerge-keep-mine
ràng buộc để smerge-command-prefixmgiữ những thay đổi của bạn.
smerge-keep-other
ràng buộc để smerge-command-prefixogiữ những thay đổi khác.
smerge-ediff
bị ràng buộc để smerge-command-prefixEbắt đầu một phiên ediff để hợp nhất các xung đột. Điều này giống như vc-resolve-conflicts
(cảm ơn @phils và @Malabarba đã chỉ ra điều này).
Kích hoạt chế độ smerge tự động
CẬP NHẬT: Những điều sau chỉ liên quan đến các phiên bản Emacs trước đây 25.1
, những điều sau đây có thể gây ra sự cố cho các phiên bản sau, xem https://github.com/magit/magit/issues/3897
Ngoài ra, bạn có thể quan tâm đến việc tự động bật smerge-mode
khi truy cập tệp / bộ đệm với các dấu xung đột, bạn có thể sử dụng một cái gì đó như sau để đạt được điều này
(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)
Lưu ý rằng tôi đang sử dụng buffer-list-update-hook
và không phải find-file-hook
vì hầu hết các lần tôi gặp xung đột trong bộ đệm đã được mở trong emacs trong trường hợp find-file-hook
không có ích.
Cũng kiểm tra các phương pháp khác được đề cập trong câu trả lời này
e
vào các tệp được hiển thị là xung đột. Magit sẽ khởi chạyediff
để thực hiện việc hợp nhất và nhắc bạn sau đó để xác nhận các thay đổi của bạn, sau đó bạn có thể tạo tập tin được hợp nhất.