--no-ff fait référence à la désactivation forcée du mode avance rapide.
La méthode d'avance rapide consiste à ce que lorsque les conditions le permettent, git pointe directement le pointeur HEAD vers la tête de la branche fusionnée pour terminer la fusion. Il appartient au "mode avance rapide", mais si vous supprimez la branche dans ce cas, les informations sur la branche seront perdues. Parce qu'aucun commit
n'est créé dans ce processus
git merge --squash est utilisé pour compresser certains commits inutiles. Par exemple, si les commits écrits lors du développement de votre fonctionnalité sont très compliqués, alors nous ne voulons pas reprendre ces commits historiques lors de la fusion, nous utilisons donc --squash Fusionner À ce stade, le fichier est le même qu'après la fusion, mais HEAD ne sera ni déplacé ni soumis. Un commit supplémentaire est nécessaire pour « conclure », puis terminer la fusion finale.
Résumé : --no-ff : Ne pas utiliser la méthode d'avance rapide pour fusionner, conserver l'historique des validations de la branche --squash : Utiliser la méthode squash pour fusionner, compresser l'historique des validations de plusieurs branches en un seul
Créez un commit de fusion même lorsque la fusion se résout en avance rapide. C'est le comportement par défaut lors de la fusion d'une balise annotée (et éventuellement signée).
--no-ff
fait référence à la désactivation forcée du mode avance rapide.La méthode d'avance rapide consiste à ce que lorsque les conditions le permettent, git pointe directement le pointeur HEAD vers la tête de la branche fusionnée pour terminer la fusion. Il appartient au "mode avance rapide", mais si vous supprimez la branche dans ce cas, les informations sur la branche seront perdues. Parce qu'aucun commit
n'est créé dans ce processusgit merge --squash
est utilisé pour compresser certains commits inutiles. Par exemple, si les commits écrits lors du développement de votre fonctionnalité sont très compliqués, alors nous ne voulons pas reprendre ces commits historiques lors de la fusion, nous utilisons donc--squash
Fusionner À ce stade, le fichier est le même qu'après la fusion, mais HEAD ne sera ni déplacé ni soumis. Un commit supplémentaire est nécessaire pour « conclure », puis terminer la fusion finale.Résumé :
--no-ff
: Ne pas utiliser la méthode d'avance rapide pour fusionner, conserver l'historique des validations de la branche--squash
: Utiliser la méthode squash pour fusionner, compresser l'historique des validations de plusieurs branches en un seulhttp://git-scm.com/docs/git-merge