Visualización de todas las `git diffs` con vimdiff
Pregunta
Me git diff
configuración para envolver en vimdiff, usando " Git Diferenciar con vimdiff " como guía, y está funcionando como se esperaba menos que hay muchos archivos con cambios.
Cuando hay varios archivos con cambios y corro git diff
, se abre el primer archivo y, después de dejar la primera instancia de vimdiff, me presentan con el siguiente mensaje:
external diff died, stopping at filename
Este es un comportamiento completamente diferente de lo que yo estoy acostumbrado. Yo tenía una configuración similar en el pasado con SVN y, cuando se diferencian contra varios archivos, me gustaría revisar el primer archivo, a continuación, escribir y dejar de usar :wq
y el siguiente archivo con diferencias abriría.
Este no es el caso con Git. Probé :n[ext]
, pero al hacerlo no ocupa toda la ventana de la izquierda con el archivo original, de modo que pueden diferenciarse en contra de la versión modificada.
Solución
git config --global diff.tool vimdiff
git config --global difftool.prompt false
git config --global alias.d difftool
git d
Typing produce el comportamiento esperado, :wq
escribir en ciclos vim al siguiente archivo en el conjunto de cambios.
Otros consejos
Puede intentar git difftool
, que está diseñado para hacer estas cosas.
En primer lugar, es necesario en las configuraciones diff herramienta para vimdiff
git config diff.tool vimdiff
A continuación, cuando se quiere diff, sólo tiene que utilizar en lugar de git difftool
git diff
. Que funcionará como se espera.
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