Question

I git diff de configuration pour envelopper dans vimdiff, en utilisant « Git Diff avec Vimdiff » comme guide, et il fonctionne comme prévu si il y a beaucoup de fichiers avec des changements.

Quand il y a plusieurs fichiers avec des changements et je cours git diff, il ouvre le premier fichier et, après avoir quitté la première instance de vimdiff, je suis présenté avec le message suivant:

external diff died, stopping at filename

Ceci est un comportement complètement différent de celui que je suis habitué. J'ai eu une configuration similaire dans le passé avec SVN et, lorsque plusieurs fichiers contre diffing, j'examiner le premier fichier, puis écrire et cesser d'utiliser :wq et le fichier suivant avec des différences ouvrirait.

Ce n'est pas le cas avec Git. J'ai essayé :n[ext], mais cela ne crée pas remplir la fenêtre de gauche avec le fichier d'origine afin qu'il puisse être mis au format contre la version modifiée.

Était-ce utile?

La solution

git config --global diff.tool vimdiff
git config --global difftool.prompt false
git config --global alias.d difftool

Saisie git d donne le comportement attendu, en tapant :wq dans les cycles vim au fichier suivant dans le changeset.

Autres conseils

Vous pouvez git difftool, il est conçu pour faire ce genre de choses.

D'abord, vous devez config diff outil pour vimdiff

git config diff.tool vimdiff

Alors, quand vous voulez diff, il suffit d'utiliser git difftool au lieu de git diff. Il fonctionnera comme prévu.

Git accepts kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge,
and opendiff as valid diff tools. You can also set up a custom tool. 

git config --global diff.tool vimdiff
git config --global diff.tool kdiff3
git config --global diff.tool meld
git config --global diff.tool xxdiff
git config --global diff.tool emerge
git config --global diff.tool gvimdiff
git config --global diff.tool ecmerge
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top