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.

¿Fue útil?

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top