Text-Merge
Ein Text-Merge kombiniert Änderungen aus zwei Versionen einer Datei zu einem einzigen bearbeitbaren Ergebnis. Ein Konflikt tritt auf, wenn zwei Änderungen nicht miteinander vereinbar sind und eine Entscheidung erforderlich ist.
Layout

Dieser Bildschirm zeigt drei Versionen derselben Datei.
- Linker Bereich ist Ihre Version — lokale Änderungen.
- Mittlerer Bereich ist Ergebnis — dies ist der einzige bearbeitbare Bereich.
- Rechter Bereich ist die eingehende Version — Remote-Änderungen.
Basis
Es gibt außerdem eine vierte Version: die Basis. Das ist die ursprüngliche Version, von der beide Seiten ausgegangen sind. Dies entspricht dem Drei-Wege-Merge-Modell von Git:
Local → Base ← Remote
↓
Result
In ABDiff kann der mittlere Bereich zwischen Ergebnis und Basis umschalten, damit Sie besser verstehen, was sich geändert hat.

Konflikt
Ein Konflikt tritt auf, wenn beide Seiten dieselben Zeilen unterschiedlich ändern. Zum Beispiel war der ursprüngliche Wert „blue“, jetzt sagt eine Seite „green“ und die andere „red“. Git kann nicht bestimmen, welche Änderung korrekt ist, daher ist eine manuelle Auflösung erforderlich.
Das passiert, wenn zwei Personen dieselben Zeilen gleichzeitig bearbeiten. Wenn sich die Änderungen nicht überschneiden, führt Git sie automatisch zusammen. Wenn sie sich überschneiden, müssen Sie den Konflikt manuell auflösen.
Wenn Sie Git konfiguriert haben, startet ABDiff, sobald Git einen Konflikt findet. Der Ergebnisbereich bleibt ungelöst, und Ihre Aufgabe ist es, seinen Inhalt festzulegen. Sie haben drei Möglichkeiten:
- Mit der lokalen Version auflösen
- Mit der eingehenden Version auflösen
- Oder ein eigenes Ergebnis schreiben
Einen Konflikt auflösen
Um ein Ergebnis zu übernehmen, klicken Sie mit der rechten Maustaste auf einen Konfliktblock und wählen Sie Unsere Version übernehmen oder Deren Version übernehmen.
So erstellen Sie ein eigenes Ergebnis:
- Bearbeiten Sie die ausgewählte Zeile (drücken Sie ↩︎ oder doppelklicken Sie)
- Oder kopieren Sie Zeilen von einer der beiden Seiten (Rechtsklick ▸ Auswahl ins Ergebnis kopieren)
Tipps:
- Erweitern Sie die Auswahl (⇧↑ / ⇧↓), um mehrere Zeilen auf einmal zu kopieren
- Verwenden Sie ⌘Z, um jede Änderung rückgängig zu machen
Abschließen
Wenn Sie fertig sind, speichern Sie die Datei (Datei ▸ Speichern oder ⌘S). Damit teilt Git mit, dass der Konflikt gelöst wurde.
Oder schließen Sie die Datei ohne zu speichern, wenn Sie den Konflikt nicht auflösen möchten.
Bearbeiten und Navigation
Navigation
| Aktion | Abkürzung |
|---|---|
| Vorherige / nächste Zeile | ↑ / ↓ |
| Vorheriger / nächster Bereich | ← / → |
| Zur ersten / letzten Zeile springen | ⌘↑ / ⌘↓ |
| Vorherige Änderung / nächste Änderung | ⌥↑ / ⌥↓ |
| Vorheriger / nächster Hunk | ⌥↑ / ⌥↓ |
| Zu einem anderen Bereich wechseln | ⇥ |
Kopieren
| Aktion | Abkürzung |
|---|---|
| Nach rechts kopieren | ⌘→ |
| Nach links kopieren | ⌘← |
| Auswahl erweitern | ⇧↑ / ⇧↓ |
| Unsere Version übernehmen | ⇧⌘→ |
| Deren Version übernehmen | ⇧⌘← |
Eine ausgewählte Zeile wird mit einem grauen Rechteck angezeigt. Ein Hunk ist ein zusammenhängender Konflikt-/Änderungsblock. Kopieraktionen sind nur aktiviert, wenn sie den Bereich Ergebnis verändern würden und wenn die Auswahl auf einer echten Zeile liegt. Ein Umschalt-Klick auf eine Zeile erweitert außerdem die aktuelle Auswahl innerhalb desselben Bereichs.
Änderungen kopieren:
- Verwenden Sie den Kopierbefehl, um die aktuell ausgewählten Zeilen zu kopieren.
- Verwenden Sie die Hunk-Kopieraktion, um den Block zu kopieren, in dem sich die ausgewählte Zeile befindet.
- Ein Rechtsklick innerhalb der aktuellen Auswahl lässt die Auswahl unverändert; ein Rechtsklick an anderer Stelle wählt zuerst diese Zeile aus.
- Das Zeilen-Kontextmenü bietet außerdem Auswahl nach oben erweitern / Auswahl nach unten erweitern, wenn diese Umschalt-Pfeil-Bewegungen verfügbar sind.
- Verwenden Sie für die ausgewählte Zeile Unsere Version übernehmen oder Deren Version übernehmen, entweder per Rechtsklick auf eine Zeile oder über das Menü Bearbeiten.
Alle Kopieraktionen können mit ⌘Z rückgängig gemacht werden.
Bearbeiten
| Aktion | Abkürzung |
|---|---|
| Bearbeitung der ausgewählten Ergebniszeile starten | Return |
| Bearbeitung einer Ergebniszeile direkt starten | Zeile doppelklicken |
| Bestätigen und zur nächsten bearbeitbaren Zeile wechseln | Return (während der Bearbeitung) |
| Bestätigen und Bearbeitungsmodus beenden | Command-Return |
| Aktuellen Zeilenpuffer verwerfen und Bearbeitungsmodus beenden | Esc oder Command-. |
Die Bearbeitung kann auch per Doppelklick auf eine Zeile gestartet werden. Alle Bearbeitungsaktionen können mit ⌘Z rückgängig gemacht werden.
Ansichtsoptionen
Text-Merge bietet Optionen, die ändern, wie der Vergleich berechnet oder angezeigt wird. Diese Optionen sind im Optionsmenü verfügbar.
- Ignoriermuster reduzieren störende Unterschiede. Siehe Ignoriermuster.
- JSON-Normalisierung vergleicht die kanonische JSON-Struktur statt der Rohformatierung.
- Semantische Zeilenaufteilung wird standardmäßig in Einstellungen konfiguriert, nicht in diesem Optionsmenü.
Diese Einstellungen beeinflussen Abgleich und Visualisierung; sie bearbeiten Dateien nicht direkt.