2012-10-01 16 views
6

Por defecto si se utilizan fugitive.vim 's :Gdiff en un búfer de archivo que está en conflicto con git, obtendrá un three way diff mostrando HEAD, la copia de trabajo (con marcas de conflicto), y el merge.muestra de bases en dif conflicto fugitive.vim

me gusta tener git config merge.conflictstyle diff3 conjunto, que includes the base (ancestro común más reciente de HEAD y merge en las marcas de conflicto.

Desafortunadamente, incluso con diff3 como el conflictstyle en fugitive.vim todavía consigue solamente 3 paneles (sin base).

¿alguien sabe cómo hacer que muestran que en otro panel? lo ideal es acerca de la copia de trabajo.

This comment de Tim Papa parece proporcionar alguna pista, pero No puedo entenderlo.

+2

¿Has probado [Trío] (http://sjl.bitbucket.org/threesome.vim/)? – romainl

Respuesta

4

Puede hacerlo con los siguientes pasos:

  • :split - Haga una división horizontal
  • :Gdiff - Dif en la ventana superior
  • ctrlw + j - Mover centrarse en la ventana inferior
  • Gedit :1 - Cargar antecesor en la ventana inferior

Gedit :2 cargas cabeza y Gedit :3 cargas de la fusión

0

Puede usar git mergetool -t gvimdiff. Abrirá 4 ventanas en gvimdiff. No está integrado en el fugitivo, sin embargo, todavía puedes usar vim para hacer tu fusión de 3 vías.

4

La forma más rápida que conozco es este comando, emitido en la memoria intermedia en conflicto:

:Gsdiff :1 | Gvdiff 

Debe escribir estos comandos como uno línea, el efecto es diferente cuando los ingresas como dos comandos separados.

El resultado es idéntico:

+---------------------------------------+ 
|   common ancestor (:1)   | 
+-----------+--------------+------------+ 
|   |    |   | 
| HEAD (:2) | working copy | merge (:3) | 
|   |    |   | 
+-----------+--------------+------------+ 

El material dentro de los corchetes son los especificadores de 'revisión' que fugitive.vim entiende en este contexto. Vea :h fugitive-revision para más información.

+0

¿Es posible hacer que este sea un orden diferente? Sería útil intercambiar las copias comunes y de trabajo. – Holloway