829 Stimmen

Wie kann ich die "git diff"-Ausgabe mit meinem bevorzugten Diff-Tool/Viewer anzeigen?

Wenn ich tippe git diff Ich möchte die Ausgabe mit dem visuellen Diff-Tool meiner Wahl (SourceGear "diffmerge" unter Windows) anzeigen. Wie konfiguriere ich Git für diese Aufgabe?

120 Stimmen

In allen neueren Versionen von git können Sie "git difftool" statt "git diff" verwenden. Damit wird ein visuelles Diff-Programm geöffnet.

0 Stimmen

Bezüglich des neuen Skripts difftool habe ich unten eine Antwort hinzugefügt: stackoverflow.com/questions/255202/

2 Stimmen

Gitx - gitx.frim.nl . Das war's.

6voto

Brad Robinson Punkte 39967

Hier ist eine Batch-Datei, die unter Windows funktioniert - sie setzt voraus, dass DiffMerge am Standardspeicherort installiert ist, beherrscht x64, ersetzt bei Bedarf Vorwärts- durch Rückwärtsschrägstriche und ist in der Lage, sich selbst zu installieren. Es sollte einfach sein, DiffMerge durch Ihr bevorzugtes Diff-Programm zu ersetzen.

Zum Installieren:

gitvdiff --install 

gitvdiff.bat:

@echo off

REM ---- Install? ----
REM To install, run gitvdiff --install

if %1==--install goto install

REM ---- Find DiffMerge ----

if DEFINED ProgramFiles^(x86^) (
    Set DIFF="%ProgramFiles(x86)%\SourceGear\DiffMerge\DiffMerge.exe"
) else (
    Set DIFF="%ProgramFiles%\SourceGear\DiffMerge\DiffMerge.exe"
)

REM ---- Switch forward slashes to back slashes ----

set oldW=%2
set oldW=%oldW:/=\%
set newW=%5
set newW=%newW:/=\%

REM ---- Launch DiffMerge ----

%DIFF% /title1="Old Version" %oldW% /title2="New Version" %newW%

goto :EOF

REM ---- Install ----
:install
set selfL=%~dpnx0
set selfL=%selfL:\=/%
@echo on
git config --global diff.external %selfL%
@echo off

:EOF

0 Stimmen

Tolles Skript, das mir die Mühe erspart, DiffMerge-Befehle zu suchen. Vielleicht sollten Sie die Installationszeile so ändern, dass Anführungszeichen verwendet werden - ich hatte auf meinem Rechner Probleme: "%1"=="--install".

5voto

Fire Crow Punkte 7129

Für eine Linux-Version der Konfiguration eines Diff-Tools für Git-Versionen vor 1.6.3 (1.6.3 fügte difftool zu Git hinzu), este ist ein großartiges, kompaktes Lernprogramm.

Kurz gefasst:

Schritt 1: Fügen Sie Folgendes zu Ihrer .gitconfig hinzu

[diff]
  external = git_diff_wrapper
[pager]
  diff =

Schritt 2: Erstellen Sie eine Datei namens git_diff_wrapper und legen Sie sie irgendwo in Ihrem $PATH ab.

#!/bin/sh

vimdiff "$2" "$5"

4voto

Shreyas Punkte 1124

Unter Mac OS X,

git difftool -t diffuse

erledigt diese Aufgabe für mich im Git-Ordner. Zum Installieren Diffus kann man den Port -

sudo port install diffuse

0 Stimmen

"Hafen"? Auf BSD ?

0 Stimmen

Können Sie Hinweise auf "port" und "diffuse" hinzufügen? Und mutmaßliche Plattformen/Betriebssystem(e)?

3voto

suhailvs Punkte 17111

Sie können verwenden git difftool .

Zum Beispiel, wenn Sie Meldung können Sie die Zweige bearbeiten master y devel von:

git config --global diff.external meld
git difftool master..devel

3voto

dolphus333 Punkte 1123

Das Folgende kann aus den anderen Antworten hier entnommen werden, aber für mich ist es schwierig (zu viele Informationen), daher hier die Antwort "einfach eintippen" für tkdiff:

git difftool --tool=tkdiff <path to the file to be diffed>

Sie können tkdiff durch den Namen der ausführbaren Datei Ihres bevorzugten Vergleichsprogramms ersetzen. Solange sich (z. B. tkdiff) (oder Ihr bevorzugtes Vergleichsprogramm) in Ihrem PATH befindet, wird es gestartet.

0 Stimmen

Dies ist der einfachste und schnellste Weg.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X