Comment faire pour que git merge soit par défaut –no-ff –no-commit?

La politique de l’entreprise consiste à utiliser --no-ff pour les commits de fusion. Personnellement, j’aime régler les messages de journal de fusion pour que j’utilise --no-commit . De plus, j’aime bien comstackr et tester avant de laisser le commit aller.

Comment puis-je créer --no-ff et --no-commit la valeur par défaut pour moi pour toutes les twigs?

(et depuis que je me suis renseigné à ce sujet, je suis presque toujours satisfait du commit, il est donc plus simple de le valider par défaut et aussi longtemps que je modifie ou corrige les choses avant de faire un push). tout bon…)

Mettez ceci dans $ HOME / .gitconfig:

 [merge] ff = no commit = no 

Vous pouvez utiliser git-config pour faire ceci:

  git config --global merge.commit no git config --global merge.ff no 

Pour que --no-ff --no-commit le comportement de fusion par défaut, définissez les options sur no utilisant:

 git config --global merge.ff no git config --global merge.commit no 

Cependant, le problème est que git pull = git fetch + git merge . Donc, chaque fois que vous tirez depuis le serveur distant, vous créez un commit de fusion désagréable lorsqu’un simple fast-forward est justifié. Pour résoudre ce problème, définissez pull.ff sur yes :

 git config --global pull.ff yes 

A partir de la version 1.7.6 de git, vous devez utiliser

 git config [--global] merge.ff no 

pour “forcer” en utilisant --no-ff dans chaque fusion.

Le comportement par défaut est

 git config [--global] merge.ff yes 

Et avec

 git config [--global] merge.ff only 

il refusera les fusions sans avance rapide

Selon le manuel , vous devriez utiliser

 $ git config [--global] merge.ff false 

définir l’option par défaut pour toutes les twigs avec l’utilitaire git-config.