Deshabilitar las fusiones de avance rápido (Fast Forward Merging) en Git
Deshabilitar las fusiones de avance rápido durante una fusión
Para deshabilitar las fusiones de avance rápido en Git, puede utilizar la opción --no-ff (o -n) al fusionar una rama. Esto creará una nueva confirmación de fusión (merge commit), incluso si el historial es lineal.
git merge --no-ff <branch-to-merge>
La opción --no-ff asegura que se cree una nueva confirmación de fusión, independientemente del historial de confirmaciones.
graph LR
A[Main Branch] --> B[Feature Branch]
B --> C[Merge with --no-ff]
A --> C
En el diagrama anterior, la fusión se realiza con la opción --no-ff, lo que resulta en la creación de una nueva confirmación de fusión (C).
Deshabilitar las fusiones de avance rápido como configuración predeterminada
También puede configurar Git para que siempre deshabilite las fusiones de avance rápido estableciendo la opción merge.ff en false en su configuración de Git.
git config --global merge.ff false
Esto asegurará que se cree una nueva confirmación de fusión para todas las futuras fusiones, independientemente del historial de confirmaciones.
Verificar la estrategia de fusión
Puede verificar la estrategia de fusión actual ejecutando el siguiente comando:
git config --get merge.ff
Esto mostrará el valor actual de la opción merge.ff, que puede ser true (fusiones de avance rápido habilitadas) o false (fusiones de avance rápido deshabilitadas).
Al deshabilitar las fusiones de avance rápido, puede mantener un historial de confirmaciones claro y consistente, lo que puede ser útil para varios flujos de trabajo de Git y escenarios de colaboración.