Ich habe git diff
mich so eingerichtet, dass es in vimdiff eingebunden wird, wobei " Git Diff with Vimdiff " als Leitfaden verwendet wird, und es funktioniert wie erwartet, es sei denn, es gibt viele Dateien mit Änderungen.
Wenn mehrere Dateien mit Änderungen vorhanden sind und ich sie ausführe git diff
, wird die erste Datei geöffnet. Nach dem Beenden der ersten Instanz von vimdiff wird die folgende Meldung angezeigt:
external diff died, stopping at filename
Dies ist ein völlig anderes Verhalten als ich es gewohnt bin. Ich hatte in der Vergangenheit ein ähnliches Setup mit SVN und wenn ich mich von mehreren Dateien unterschied, überprüfte ich die erste Datei, schrieb und beendete sie mit :wq
und die nächste Datei mit Unterschieden öffnete sich.
Dies ist bei Git nicht der Fall. Ich habe es versucht :n[ext]
, aber dadurch wird das linke Fenster nicht mit der Originaldatei gefüllt, sodass es sich von der geänderten Version unterscheiden kann.
df
Aliasingdiff
unddt
Aliasing zudifftool
.:qa
Wenn Sie Vim eingeben , gelangen Sie zum nächsten Änderungssatz, ohne etwas zu speichern.git diff
alsgit difftool
. Also habe ich michd
auf 'diff' und'dt' to
difftool 'eingestellt. Benutzerfreundlichkeit ist wichtiger als das Erstellen von Aliasnamen mit Mustern.:w!
statt:w
" eingeben müssen . Das liegt daran, dass Gitvimdiff
mit der-R
Option aufruft . Sie können es mit überschreibengit config --global difftool.vimdiff.cmd 'vimdiff "$LOCAL" "$REMOTE"'
. Dadurch wird vimdiff im beschreibbaren Modus geöffnet.Sie können versuchen
git difftool
, es wurde entwickelt, um dieses Zeug zu tun.Zuerst müssen Sie das Diff-Tool für vimdiff konfigurieren
Wenn Sie sich dann unterscheiden möchten, verwenden Sie einfach
git difftool
anstelle vongit diff
. Es wird so funktionieren, wie Sie es erwarten.quelle
quelle
merge
durchdiff
in den obigen Antworten wird den Trick tun, dhgit config --global diff.tool vimdiff
.Für Leute, die ein anderes Diff-Tool verwenden möchten, das nicht in Git aufgeführt ist, sagen wir mit
nvim
. Folgendes habe ich letztendlich verwendet:In meinem Fall, habe ich
<tool name>
aufnvim -d
und rufen Sie den Befehl diff mitquelle