Ehrlich gesagt, ist die beste Option, git difftool
statt Vanille git diff
zu verwenden. welche Werkzeuge Ihre Version von git Stützen zu sehen, geben Sie
git difftool --tool-help
die, mit meiner Version (2.3.0) zeigt die folgende
$ git difftool --tool-help
'git difftool --tool=<tool>' may be set to one of the following:
araxis
gvimdiff
gvimdiff2
gvimdiff3
meld
vimdiff
vimdiff2
vimdiff3
The following tools are valid, but not currently available:
bc
bc3
codecompare
deltawalker
diffmerge
diffuse
ecmerge
emerge
kdiff3
kompare
opendiff
p4merge
tkdiff
xxdiff
ich in der Regel meld
verwenden, aber das ist nur eine persönliche Präferenz . git difftool
nimmt die gleichen Argumente wie git diff
plus ein paar, um mit dem Prozess zu helfen (Ich finde -y
nützlich, um die Aufforderungen zu verhindern, wenn Sie von einer Datei zur nächsten bewegen).
Um die Änderungen von einem bestimmten eingeführt zu überprüfen commit, zum Beispiel, können Sie
git difftool -y -t meld 08f0f82^..08f0f82
offensichtlich 08f0f82
mit der richtigen SHA-1 zu ersetzen verwenden.
Meine größte Beschwerde ist, dass es das Tool für jede modifizierte Datei in Sequenz startet (daher die Option -y
).
Wenn Sie nur die Änderungen an einer bestimmten Datei in diesem Commit untersuchen möchten, können Sie einfach den Dateinamen zur Befehlszeile hinzufügen.
git difftool -y -t meld 08f0f82^..08f0f82 myfile.c
Offensichtlich ist dies für die interaktive Nutzung - nicht für Scripting
im Zusammenhang: http://Stackoverflow.com/q/27857967/2541573 – Jubobs
Eine andere Option ist 'git diff -U \' wc -l | Schnitt -f 1 -d "" \ HEAD^ 'aber Sie Ich brauche 'wc' auf der längeren Version der Datei –
kdopen