origin - ¿Por qué git me está pidiendo un mensaje de compromiso de fusión post-pull?
git pull origin master (3)
En git 1.7.10, los desarrolladores de git decidieron que las confusiones de fusión podrían realizarse con demasiada facilidad. Como se explica en esta publicación de blog, forzar el comportamiento del mensaje de compromiso interactivo debería hacer que los mensajes de compromiso sean más detallados y podría reducir la frecuencia general de fusiones innecesarias.
Puede usar el indicador --no-edit
para evitar este comportamiento, pero, bueno, no. Merge commits, al igual que cualquier commit de la historia, debe estar bien construido. Tu historia no debe ser más que útil.
Recientemente, después de cualquier git pull
, git comenzó a generar mi editor de texto y me pidió un mensaje de confirmación de fusión. Un mensaje de confirmación ya está prellenado, y solo tengo que guardar y cerrar la ventana para completar la extracción.
En el pasado, hacía la fusión en silencio, con un mensaje de compromiso estándar (a lo largo de las líneas de la Merge branch ''dev'' of remote.com:/repo into dev
).
Recientemente actualicé git a la versión 1.7.11.3 (a través de homebrew), pero no puedo pensar en otra cosa que podría haber hecho para cambiar este comportamiento. ¿Es esto un ajuste, o hay alguna manera de volver a la forma en que estaba?
Para crear un acceso directo para uso futuro, ya sea:
Edite su ~/.gitconfig
con lo siguiente:
[core]
mergeoptions = --no-edit
O ejecuta lo siguiente en Terminal
git config --global core.mergeoptions --no-edit
Primero, preste atención a las advertencias en la respuesta de Christopher arriba.
Luego, si aún desea deshabilitar la edición automática de mensajes de confirmación de fusión, establezca esta variable de entorno:
GIT_MERGE_AUTOEDIT = no
Esta variable de entorno y su configuración de "no" están documentadas en la página de documentación de git merge . Se recomienda utilizarlo solo en scripts que deben fusionarse de forma no interactiva, pero, por supuesto, se puede configurar como parte de su entorno de shell para que sus efectos sean más permanentes.