Meld als Difftool und Mergetool für Git einrichten

John Wachira 18 August 2022
  1. Meld als Standard-Git Difftool konfigurieren
  2. Konfigurieren Sie Meld als Standard-Git Mergetool
Meld als Difftool und Mergetool für Git einrichten

In diesem Artikel wird die Konfiguration von Meld als Git-Standardtools zum diff und merge erläutert. Meld ist ein großartiges GUI-diff-Programm, das es uns erleichtert, Dateiänderungen zu überprüfen und Ergebnisse zusammenzuführen.

Der erste Schritt ist immer das Herunterladen und Installieren des Programms. Wenn Sie fertig sind, folgen Sie unserem Beispiel.

Meld als Standard-Git Difftool konfigurieren

Um Git für die Verwendung von Meld als difftool zu konfigurieren, müssen wir Änderungen an unserer .gitconfig-Datei vornehmen. Wir werden die folgenden Zeilen zu unserer .gitconfig-Datei hinzufügen.

[diff]
    tool = meld
[difftool]
    prompt = false
[difftool "meld"]
    cmd = meld "$LOCAL" "$REMOTE"

Die Reihenfolge wird durch die Reihenfolge der Argumente $LOCAL und $REMOTE bestimmt. In unserem Fall befindet sich $LOCAL, unsere Originaldatei, auf der linken Seite und $REMOTE ist die modifizierte Datei auf der rechten Seite.

Wenn Sie es umgekehrt möchten, verwenden Sie stattdessen dies.

cmd = meld "$REMOTE" "$LOCAL"

Der Teil prompt = false weist Git an, nicht nach einer Bestätigung für das Starttool zu fragen, was es standardmäßig tut.

Wir können den Befehl git difftool als Befehl git diff ausführen.

$ git difftool <BranchName> file_name

Konfigurieren Sie Meld als Standard-Git Mergetool

Meld erleichtert auch das Lösen von Konflikten während des Zusammenführens dank ihres GUI mergetool. Auch hier werden wir unsere .gitconfig-Datei ändern, um Meld als mergetool für Git zu konfigurieren.

Fügen Sie die folgenden Zeilen zu Ihrer .gitconfig-Datei hinzu.

[merge]
    tool = meld
[mergetool "meld"]
    # Choose one of these 2 lines
    cmd = meld "$LOCAL" "$MERGED" "$REMOTE" --output "$MERGED"
    cmd = meld "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"

Wenn wir Merge-Konflikte haben, können wir Meld als unser mergetool verwenden, indem wir den folgenden Befehl ausführen.

$ git mergetool

Werfen wir einen kurzen Blick auf die obigen Parameter.

  1. $LOCAL - Dies ist die Datei in unserem ausgecheckten Zweig.
  2. $REMOTE – Dies ist die Datei in dem Zweig, den wir zusammenzuführen versuchen.
  3. $MERGED – Dies ist die Datei mit den Zusammenführungskonflikten.
  4. $BASE – Dies ist die Originaldatei, wenn die Verzweigung mit $REMOTE erstellt wird.

$LOCAL und $REMOTE stehen links und rechts, abhängig von Ihrer Reihenfolge im cmd, und Sie können entweder $BASE oder $MERGED in der Mitte haben. Meld ermöglicht eine 3-Wege-Ansicht, und wir sollten die mittlere Datei bearbeiten, um die Konflikte zu lösen.

Nach der Bearbeitung können wir das Programm schließen und Git aktualisiert die Datei automatisch. An diesem Punkt sind wir bereit, die Änderungen zu übernehmen und die Zusammenführung abzuschließen.

Alternativ können wir einige Befehle auf der Bash ausführen, um unsere .gitconfig-Datei zu aktualisieren.

Führen Sie für Windows-Benutzer diese Befehle aus.

$ git config --global diff.tool meld
$ git config --global difftool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"
$ git config --global difftool.prompt false

$ git config --global merge.tool meld
$ git config --global mergetool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"
$ git config --global mergetool.prompt false

Stellen Sie sicher, dass Sie den richtigen Pfad zu Ihrer MELD.exe-Datei eingeben.

Linux-Benutzer können die folgenden Befehle verwenden, um ihre .gitconfig-Datei zu aktualisieren.

$ git config --global diff.tool meld
$ git config --global difftool.meld.path "/usr/bin/meld"
$ git config --global difftool.prompt false

$ git config --global merge.tool meld
$ git config --global mergetool.meld.path "/usr/bin/meld"
$ git config --global mergetool.prompt false

Aktualisieren Sie den obigen Code mit dem richtigen Installationspfad auf Ihrem Computer.

Kurz gesagt, die ursprünglichen Schnittstellen diff und merge von Git sind unattraktiv. Wir können Git jedoch so konfigurieren, dass Meld als Standard-GUI difftool und mergetool verwendet wird.

Alles, was Sie tun müssen, ist, Ihre .gitconfig-Datei zu aktualisieren, indem Sie die obigen Schritte ausführen.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Verwandter Artikel - Git Diff