Desde la página de manual de git-merge, hay una serie de estrategias de combinación que puede usar.
resolver : esto solo puede resolver dos cabezas (es decir, la rama actual y otra rama de la que extrajo) utilizando el algoritmo de combinación de 3 vías. Intenta detectar cuidadosamente las ambigüedades de fusión entrecruzadas y se considera generalmente seguro y rápido.
recursivo : esto solo puede resolver dos cabezas utilizando el algoritmo de fusión de 3 vías. Cuando hay más de un ancestro común que se puede usar para la fusión de 3 vías, crea un árbol fusionado de los ancestros comunes y lo utiliza como árbol de referencia para la fusión de 3 vías. Se ha informado que esto da como resultado menos conflictos de fusión sin causar fusiones erróneas mediante pruebas realizadas en confirmaciones de fusión reales tomadas del historial de desarrollo del kernel de Linux 2.6. Además, esto puede detectar y manejar fusiones que involucran cambios de nombre. Esta es la estrategia de fusión predeterminada al extraer o fusionar una rama.
pulpo : esto resuelve el caso de más de dos cabezas, pero se niega a hacer una fusión compleja que necesita resolución manual. Está destinado principalmente a usarse para agrupar cabezas de rama de tema juntas. Esta es la estrategia de fusión predeterminada al extraer o fusionar más de una rama.
la nuestra - Esto resuelve cualquier número de cabezas, pero el resultado de la fusión es siempre la cabeza de la rama actual. Está destinado a ser utilizado para reemplazar el antiguo historial de desarrollo de las ramas laterales.
subárbol : esta es una estrategia recursiva modificada. Al fusionar los árboles A y B, si B corresponde a un subárbol de A, B primero se ajusta para que coincida con la estructura de árbol de A, en lugar de leer los árboles al mismo nivel. Este ajuste también se realiza al árbol ancestro común.
¿Cuándo debo especificar algo diferente al predeterminado? ¿Para qué escenarios son los mejores?