Digamos que tengo un conflicto de fusión. Veo un archivo en conflicto como este:
Unstaged changes:
Unmerged Foo/bar/wibble/plop/elbow.txt
Puedo presionar la pestaña aquí para abrir los cambios y tal vez saltar a un punto dentro del archivo para arreglarlo a mano, pero si es un archivo grande con muchos conflictos, puede llevar mucho tiempo.
¿Cómo puedo pedirle a git, a través de magit, que revise la versión nuestra o la suya del archivo, para resolver el conflicto? Puedo copiar la ruta y luego usarla Shift-:para ingresar un comando git personalizado, pero parece que debe haber un atajo de teclado para esto. No puedo ver nada obvio en el menú magit o en la ventana emergente ?.

magit-statusy presioneepara iniciar la fusión de 3 vías conediff. Otra alternativa es que en un búfer de conflictos, puede activar elsmerge-moderesaltado de conflictos y realizar una fusión interactiva directamente en su búfer (no ediff). La combinación de teclas de prefijo parasmerge-modelos comandos relacionados esC-c ^; puede presionarC-c ^ C-hpara ver todas las combinaciones de teclas.ken un conflicto y elegir qué versión mantener. ¡Se escucha perfecto! github.com/magit/magit/issues/1643Respuestas:
No estoy seguro de cuándo se agregó esta función, pero lo hace perfectamente:
Merging master, yUnstaged changes,Staged changes. El archivo en conflicto está enUnstaged changeskpara descartar los cambios (es decir, los cambios en conflicto)For <conflicted file> checkout: [o]ur stage, [t]heir stage, [c]onflict, or [C-g] to abortfuente
Hay varias soluciones:
M-x smerge-ediff. Te pondrá en el modo de resolución de edificios, con cuatro búferes abiertos: el tuyo, el de ellos, la fusión y el búfer de comando. En el búfer de comandos, usanyppara ir al trozo siguiente o anterior, "a" o "b" para aceptar el cambio del primer o segundo búfer, o puede ir al búfer de fusión y editarlo a su gusto.een la versión estable de magit, oM-eorM-m(magit-ediff-resolve) en la siguiente rama de magit, y luego se encontrará principalmente como en el primer casoC-c ^ nyC-c ^ plo ayudará a pasar de un trozo al anterior o al siguiente, luego puede editarlos o usarC-c ^ opara mantener la versión 'otra',C-c ^ mmantener la versión 'mía',C-c ^ bmantener la versión anterior versión yC-c ^ apara mantenerlos a todos.fuente