2010-05-12 12 views
5

Estoy tratando de hacer una fusión y hay un montón de conflictos. Son todos los archivos generados, así que lo que quiero hacer es básicamente decir "ignorar todos los conflictos de fusión y verificar todo desde mi propio repositorio".Aceptar todos los conflictos de fusión en git

He intentado

git checkout . --ours 
git add -A 
git com -a 

Me da un error porque, aunque todavía hay archivos en el balde "caminos sin combinar". ¿Cómo manejo esto?

Gracias!

+0

¿Estás seguro de que no solo te dio un error porque pones una opción después de la ruta en lugar de antes? – Cascabel

+1

Además, siempre hay 'git merge -Xours', que resuelve conflictos usando" nuestra "versión. (La opción "nuestra" se transfiere a la estrategia de fusión recursiva). – Cascabel

+0

Ah, ya veo lo que quiere decir: está recibiendo un error de la confirmación, no del pago. ¡Tiempo de respuesta! – Cascabel

Respuesta

5

Los comandos de Git son muy cuidadosos de la ocultación de conflictos: es muy importante que compruebe explícitamente un archivo en conflicto para hacerle saber que está solucionado. Parece extraño que no hay una opción -f estilo para git add para hacerle saber lo haces en serio, pero aquí es un alias que tengo que ayudará:

add-unmerged = \ 
    "!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; git add `f`" 

Bono consejo: si cambia "git add" a $ EDITOR, ahora tiene edit-unmerged, ¡para editar todos los archivos en conflicto!

4

Utilice un custom merge driver:
puede declarar que el conductor en un .gitattributes ubicada en el directorio correcto (el que tiene los archivos generados cuya combinación no quiere tratar con)

* merge=keepMine 

(puede especificar un modelo más preciso para aislar los archivos exactos que se ocupan de que la combinación personalizada)

con la configuración:

[merge "keepMine"] 
     name = always keep mine during merge 
     driver = keepMine.sh %O %A %B 

Consulte "How do I tell git to always select my local version for conflicted merges on a specific file?" para obtener un ejemplo completo.

+0

Ah, buena llamada. Asumí que el OP aún quería (o tenía que) obtener manualmente las versiones correctas de los archivos, pero dado que son archivos generados, debería ser posible dirigirlos a todos con un controlador de combinación. – Cascabel

Cuestiones relacionadas