Text-Merge

Ein Text-Merge kombiniert Aenderungen aus zwei Versionen einer Datei zu einem einzigen bearbeitbaren Ergebnis. Ein Konflikt entsteht, wenn zwei Aenderungen nicht miteinander vereinbar sind und eine Entscheidung noetig wird.

Layout

Dieser Bildschirm zeigt drei Versionen derselben Datei.

Text-Merge mit Einfuegeluecken

Es gibt zwei Merge-Layouts:

Zum Umschalten verwenden Sie das Menue Darstellung oder die segmentierte Steuerung oben rechts.

Basis

Es gibt noch eine vierte Version: die Basis. Das ist die urspruengliche Version, von der beide Seiten ausgegangen sind. Das 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 geaendert hat.

Was ist ein Konflikt?

Ein Konflikt entsteht, wenn beide Seiten dieselben Zeilen unterschiedlich aendern. Zum Beispiel war der urspruengliche Wert “blue”, jetzt sagt eine Seite “green” und die andere “red”. Git kann nicht entscheiden, welche Aenderung korrekt ist, und verlangt deshalb eine manuelle Aufloesung.

Unvereinbare Aenderungen

Das passiert, wenn zwei Personen dieselben Zeilen gleichzeitig bearbeiten. Ueberschneiden sich die Aenderungen nicht, fuehrt Git sie automatisch zusammen. Ueberschneiden sie sich doch, muessen Sie den Konflikt manuell aufloesen.

Einen Konflikt aufloesen

Wenn Sie Git konfiguriert haben, startet ABDiff, sobald Git einen Konflikt findet. Der Ergebnisbereich bleibt ungeloest, und Ihre Aufgabe ist es, seinen Inhalt festzulegen. Sie haben drei Moeglichkeiten:

Klicken Sie mit der rechten Maustaste auf eine beliebige Zeile, um die verfuegbaren Aktionen zu sehen

Tipps:

Als geloest markieren

Wenn Sie fertig sind, speichern Sie die Datei (Datei ▸ Sichern oder ⌘S). Damit teilt ABDiff Git mit, dass der Konflikt geloest wurde.

Wenn Sie den Konflikt nicht aufloesen moechten, schliessen Sie die Datei einfach ohne zu sichern.

Bearbeiten und Navigation

Aktion Tastaturkuerzel
Vorherige / naechste Zeile ↑ / ↓
Vorheriger / naechster Bereich ← / →
Zur ersten / letzten Zeile springen ⌘↑ / ⌘↓
Vorherige / naechste Aenderung ⌥↑ / ⌥↓
Vorheriger / naechster Hunk ⌥↑ / ⌥↓
Zu einem anderen Bereich wechseln

Kopieren

Aktion Tastaturkuerzel
Auswahl ins Ergebnis kopieren ⌘← ⌘→
Auswahl erweitern ⇧↑ / ⇧↓
Mit unserer / deren Version aufloesen ⇧⌘→ / ⇧⌘←

Eine ausgewaehlte Zeile wird mit einem grauen Rechteck angezeigt. Ein Hunk ist ein zusammenhaengender Konflikt- oder Aenderungsblock. Kopieraktionen sind nur aktiviert, wenn sie den Ergebnisbereich veraendern wuerden und wenn die Auswahl auf einer echten Zeile liegt. Ein Umschalt-Klick auf eine Zeile erweitert ausserdem die aktuelle Auswahl innerhalb desselben Bereichs.

So kopieren Sie Aenderungen:

Alle Kopieraktionen lassen sich mit ⌘Z rueckgaengig machen.

Bearbeiten

Aktion Tastaturkuerzel
Bearbeitung der ausgewaehlten Ergebniszeile starten Return
Bearbeitung einer Ergebniszeile direkt starten Zeile doppelklicken
Bestaetigen und zur naechsten bearbeitbaren Zeile wechseln Return (waehrend der Bearbeitung)
Bestaetigen und den Bearbeitungsmodus verlassen Command-Return
Aktuellen Zeilenpuffer verwerfen und den Bearbeitungsmodus verlassen Esc oder Command-.

Die Bearbeitung kann auch per Doppelklick mit der Maus gestartet werden. Alle Bearbeitungsaktionen lassen sich mit ⌘Z rueckgaengig machen.

Ansichtsoptionen

Text-Merge bietet Optionen, die die Berechnung oder Darstellung des Vergleichs veraendern. Diese Optionen finden Sie im Optionsmenue.

Verwandte Themen