Git y Vimdiff el combo máximo

Hola,

Hoy iré rapidito y al grano (que raro, sí). Esta tarde, un compañero de trabajo me ha preguntado si hay alguna manera de ver un Diff de Git en diferentes ventanas. Con el archivo antiguo a un lado y el nuevo al otro y los cambios remarcados.

Como no tenía ni idea, hemos buscado en internet en un segundo y hemos encontrado el comando git difftool, que permite hacer este tipo de cosas.

Hemos jugado un poco y hemos visto que se puede configurar la herramienta a usar en estos casos. En nuestro caso hemos optado por vimdiff pero también podrían ser otras. Si ejecutáis el comando git difftool sin haber configurado os dará una lista, pero creo que se pueden añadir incluso herramientas externas.

A parte de esto del difftool también existe un mergetool en el que también se puede utilizar vimdiff. Este caso sería cuando hacemos merges y hay conflictos, en ellos la herramienta nos permitiría ver los cambios y actuar como veamos.

Para configurar vimdiff como difftool y mergetool:

$ git config --global diff.tool vimdiff 
$ git config --global merge.tool vimdiff

Y ahora un cheetsheet básico de VimDiff para los que no lo conozcan (la nemotecnia creo que no me la he inventado, pero no lo juro):

  • Ctrl+W, W: Cambia de ventana (window).

  • do: do obtain. Obtiene los cambios sobre los que estemos situados de la otra ventana.

  • dp: do put. Pasa los cambios en los que estamos a la otra ventana. (Es lo mismo que hacer un do en el otro lado, sí)

Un detalle, git difftool abre los archivos como sólo lectura, así que hay que forzar los cambios si se quiere sobreescribir (añadir ! para eso, tal que así para guardar: :w! ).

He ido un poco rápido, si alguien tiene alguna duda o comentario o un “Ekaitz, esto es más viejo que mear de pie”, la sección de comentarios está para eso.

Paz y amor.

Enlaces extra:

Anuncios

Un pensamiento en “Git y Vimdiff el combo máximo

  1. Vim, ese pedazo de editor – Free Hacks!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s