Pourquoi git me demande un message de commit post-pull merge?

récemment, suite à n'importe quel git pull , git a commencé à brosser mon éditeur de texte, et demander un message de propagation de fusion. Un message de propagation est déjà pré-rempli, et je dois juste sauvegarder et fermer la fenêtre pour terminer la traction.

dans le passé, il ferait la fusion silencieusement, avec un message de commit standard (sur le modèle de Merge branch 'dev' of remote.com:/repo into dev ).

j'ai récemment mis à jour git à la version 1.7.11.3 (via homebrew), mais je ne peux pas penser à autre chose J'ai peut-être fait pour modifier ce comportement. Est-ce un décor, ou y a-t-il un autre moyen de revenir à ce qu'il était?

121
demandé sur CharlesB 2012-07-31 19:50:19

3 réponses

dans git 1.7.10, les développeurs de Git ont décidé que merge commits pourrait être fait trop facilement. Comme expliqué dans ce billet de blog, forcer le comportement du message de propagation interactif devrait rendre ces messages de propagation plus détaillés et pourrait réduire la fréquence globale des fusions inutiles.

vous pouvez utiliser le drapeau --no-edit pour éviter ce comportement, mais, eh bien, ne le faites pas. Merge commits, comme n'importe quelle commits to history, devrait être bien construit. Votre l'histoire devrait être rien, mais utile.

138
répondu Christopher 2012-07-31 16:10:01

pour créer un raccourci pour une utilisation future, soit: -

éditez votre ~/.gitconfig avec ce qui suit:

[core]
    mergeoptions = --no-edit

ou exécuter ce qui suit dans le Terminal

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

41
répondu Dallas Clark 2014-12-14 18:34:03

tout d'abord, prenez garde aux avertissements dans la réponse de Christopher ci-dessus.

ensuite, si vous voulez toujours désactiver l'édition automatique des messages de propagation de fusion, définissez cette variable d'environnement:

    GIT_MERGE_AUTOEDIT=no

cette variable d'environnement et son réglage" no "sont documentés sur la page git merge doc. Il est recommandé de l'utiliser seulement dans les scripts qui ont besoin de fusionner Non-interactivement, mais bien sûr, il peut être défini dans le cadre de votre shell environnement pour rendre ses effets plus permanents.

8
répondu emackey 2018-08-31 23:56:44