¿Puede Git fusionar files comprimidos, documentos de MS Office, etc.?

Git para Windows.

Estoy aprendiendo a Git. Mi proyecto tiene un file projectname.hmxz lugar de los files de text simples. Este file es un file comprimido (con la extensión modificada). Es un file especial de proyecto utilizado por el progtwig Ayuda y Manual . ¿Puedo usar Git para tales proyectos? Me molesta, porque cada twig tendrá una versión modificada del file projectname.hmxz , que no es un file de text habitual. ¿Cómo fusionará Git tales twigs con un único file projectname.hmxz ? Creo que el mismo problema será con los documentos de MS Office: xls, doc, etc. (porque tampoco es un text plano).

No tengo problemas con los files de text habituales, pero ¿qué pasa con estos casos?

Archivos zip:

No, son binarys. Para los files binarys, los conflictos de combinación se resuelven solo como "usar la versión A" o "usar la versión B".

Pero si los construyes desde alguna fuente, tal vez puedas controlar la versión de esa fuente.

Archivos de MS Office:

No, no es posible Pero a menudo se tratan como files de text, por lo que en la primera fusión, git los corromperá. Debe configurar manualmente git para tratarlos como binarys. Siga estas instrucciones: http://sofes.miximages.com/a/30731818/2790048

No se puede hacer mucho más que elegir una versión sobre la otra.

Digamos que estás en la sucursal here y quieres fusionarla con una sucursal there . Para hacer eso, debe usar la opción de ours estrategia recursive (por cierto, tenga en count que recursive es la estrategia de fusión pnetworkingeterminada):

 git merge --strategy=recursive -Xours there 

Para hacer lo opuesto (favorecer los files desde there ), ejecuta:

 git merge --strategy=recursive -Xtheirs there 

Tenga cuidado de que afecte los conflictos de todos los files, ¡no solo de los binarys!

Para get más información, consulte la página de git-merge(1) . No conozco el equivalente de Windows, pero también puede encontrarlo en el siguiente enlace: https://git-scm.com/docs/git-merge

Git solo puede fusionar files de text …

Puede convertir files binarys en files de text y diferenciarlos usando la opción textconv en la configuration, pero no es trivial si no tiene un buen convertidor.

Verifique esta respuesta en superusuario para una explicación detallada.