78 votes

La fusion Git n'utilise pas le message de fusion par défaut, mais ouvre l'éditeur avec le message par défaut.

Comment puis-je forcer git merge pour utiliser le message de fusion par défaut au lieu de charger mon éditeur avec ledit message ?

Je n'ai pas d'éditeur inscrit dans git config -l donc je ne sais pas pourquoi il ouvre un éditeur.

1 votes

Je ne suis pas sûr, mais est-ce que la fusion - comme le commit - n'a pas l'option --no-edit ?

94voto

kjb Points 550

J'ai trouvé la réponse après quelques recherches

EDIT : Selon la suggestion de Mark, c'est la meilleure façon de procéder :

git config --global core.mergeoptions --no-edit

17 votes

Plutôt que d'éditer ~/.gitconfig directement, il serait plus prudent de suggérer l'utilisation de git config pour ce faire, par exemple git config --global core.mergeoptions --no-edit de sorte qu'il n'y a aucune chance de créer un fichier malformé. ~/.gitconfig .

3 votes

Cela semble fonctionner pour git merge mais j'ai toujours un éditeur qui s'ouvre pour git pull 's. Existe-t-il un moyen de désactiver le message de validation dans ce cas également ?

3 votes

Je ne trouve aucune mention de core.mergeoptions mais il s'applique certainement à branch.*.mergeoptions . Quelqu'un connaît-il les versions supportées pour cela ?

74voto

ouah Points 75311

Utilice

export GIT_MERGE_AUTOEDIT=no

ou

git merge --no-edit

0 votes

C'est presque ce que je voulais, mais cela vous oblige à taper --no-edit à chaque fois. La solution que j'ai trouvée change le comportement par défaut de git merge

0 votes

Le passer directement à la commande merge, comme suggéré ici, est spécialement utile dans un script qui invoque git merge. Vous voulez presque toujours qu'un script n'invite pas l'utilisateur. Cependant, il serait bien de savoir comment passer un message personnalisé à l'utilisateur. git merge . Peut-être git merge -m "message" fonctionne mais je ne l'ai pas encore essayé.

7 votes

Pour moi, export GIT_MERGE_AUTOEDIT=no a fonctionné (pour les fusions) lorsque la réponse acceptée ( git config --global core.mergeoptions --no-edit ) ne l'a pas fait.

11voto

Orlando Points 3184

Il s'agit d'une nouvelle fonctionnalité de Git, introduit dans Git 1.7.10 pour utiliser l'ancien (ne pas fournir de message sur la fusion), mettez ces deux lignes dans votre fichier .bash_profile o .bashrc

GIT_MERGE_AUTOEDIT=no
export GIT_MERGE_AUTOEDIT

0voto

dawn360 Points 11

Essayez ceci

git merge --no-ff --no-edit -m "my custom merge message" somebranch

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X