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?
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.
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
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.