Vielleicht möchten Sie es einfach ausprobieren, smerge-mode
indem Sie die in Konflikt stehende Datei öffnen und ausführen M-xsmerge-mode
RET. Es werden alle Konfliktregionen hervorgehoben. Es werden auch Tastenkombinationen hinzugefügt C-hfsmerge-mode
RET, um die Konflikte einfach zu lösen. Informationen dazu finden Sie in der Dokumentation .
Standardpräfix
Ich finde das Standardpräfix für smerge-mode
C-c^umständlich, daher habe ich es in geändert C-cv
(setq smerge-command-prefix "\C-cv")
Wichtige Tastenkombinationen
Für mich sind die wichtigsten Bindungen:
smerge-next
verpflichtet, smerge-command-prefixnzum nächsten Konflikt zu bewegen.
smerge-previous
verpflichtet, smerge-command-prefixpzum vorherigen Konflikt zu bewegen.
smerge-keep-current
verpflichtet smerge-command-prefixRET, die Version beizubehalten, auf der sich der Cursor befindet.
smerge-keep-mine
verpflichtet smerge-command-prefixm, Ihre Änderungen zu behalten.
smerge-keep-other
verpflichtet smerge-command-prefixo, andere Änderungen beizubehalten.
smerge-ediff
verpflichtet, smerge-command-prefixEeine Ediff-Sitzung zu starten, um die Konflikte zusammenzuführen. Dies ist dasselbe wie vc-resolve-conflicts
(danke @phils und @Malabarba für den Hinweis).
Smerge-Modus automatisch aktivieren
UPDATE: Folgendes ist nur für frühere Emacs-Versionen relevant 25.1
, das Folgende kann in späteren Versionen zu Problemen führen (siehe https://github.com/magit/magit/issues/3897)
Außerdem könnten Sie daran interessiert sein, die automatische Aktivierung smerge-mode
beim Aufrufen einer Datei / eines Puffers mit Konfliktmarkierungen zu aktivieren. Dazu können Sie Folgendes verwenden
(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)
Beachten Sie, dass ich einen Puffer verwende buffer-list-update-hook
und nicht, find-file-hook
da ich die meiste Zeit Konflikte in einem Puffer erhalte, der bereits in Emacs geöffnet ist. In diesem Fall find-file-hook
ist dies keine Hilfe.
Überprüfen Sie auch andere in dieser Antwort erwähnte Methoden
e
auf Dateien drücken , die als Konflikt angezeigt werden. Magit startetediff
die Zusammenführung und fordert Sie anschließend auf, Ihre Änderungen zu bestätigen. Anschließend können Sie die zusammengeführte Datei bereitstellen.