Désactiver les fusions en mode "fast forward" dans Git
Désactiver les fusions en mode "fast forward" lors d'une fusion
Pour désactiver les fusions en mode "fast forward" dans Git, vous pouvez utiliser l'option --no-ff
(ou -n
) lors de la fusion d'une branche. Cela créera un nouveau commit de fusion, même si l'historique est linéaire.
git merge --no-ff <branch-to-merge>
L'option --no-ff
garantit que l'un nouveau commit de fusion est créé, quelle que soit l'historique des commits.
graph LR
A[Main Branch] --> B[Feature Branch]
B --> C[Merge with --no-ff]
A --> C
Dans le diagramme ci-dessus, la fusion est effectuée avec l'option --no-ff
, ce qui entraîne la création d'un nouveau commit de fusion (C).
Désactiver les fusions en mode "fast forward" par défaut
Vous pouvez également configurer Git pour désactiver toujours les fusions en mode "fast forward" en définissant l'option merge.ff
sur false
dans votre configuration Git.
git config --global merge.ff false
Cela garantira que l'un nouveau commit de fusion est créé pour toutes les futures fusions, quelle que soit l'historique des commits.
Vérifier la stratégie de fusion
Vous pouvez vérifier la stratégie de fusion actuelle en exécutant la commande suivante :
git config --get merge.ff
Cela affichera la valeur actuelle de l'option merge.ff
, qui peut être soit true
(les fusions en mode "fast forward" sont activées) soit false
(les fusions en mode "fast forward" sont désactivées).
En désactivant les fusions en mode "fast forward", vous pouvez maintenir un historique de commits clair et cohérent, ce qui peut être utile pour divers workflows Git et scénarios de collaboration.