Git pide un post de confirmación cuando se retira de otra twig

El flujo de trabajo de git de nuestra empresa se ve así: cada miembro del equipo tiene su propia sucursal y extrae y empuja a una twig principal llamada desarrollo.

Siempre que voy git pull develop git automáticamente abre un texteditor (mi querido vim es) y le pregunta Explain why this merge is necessary .

¿Por qué es esto y cómo puedo deshacerme de él?

Puedes ver esto en git-merge

–editar

–sin editar

Invoque el editor antes de comprometer la fusión exitosa para editar aún más el post de fusión pnetworkingeterminado. La opción –no-edit se puede usar para aceptar el post generado automáticamente (esto generalmente se desaconseja) al fusionar una label anotada, en cuyo caso git merge genera automáticamente el editor para que el resultado de la verificación GPG de la label pueda ser visto.

Los scripts más antiguos pueden depender del comportamiento histórico de no permitir al usuario editar el post de logging de fusión. Verán un editor abierto cuando ejecuten git merge para fusionar una label anotada. Para facilitar el ajuste de dichos scripts al comportamiento actualizado, la variable de entorno GIT_MERGE_AUTOEDIT se puede establecer en no al comienzo de ellos.

Y lo puedo agregar agregando export GIT_MERGE_AUTOEDIT=no en mi .bash_profile

El command git pull es, por defecto, una git fetch seguida de una git merge . La fusión verificará si es posible "avanzar rápidamente", lo que simplemente agrega las confirmaciones de la twig fusionada a su sucursal; pero cuando se han realizado cambios en su sucursal, a menudo no es posible.

En este caso, la fusión creará un compromiso de combinación para acumular los cambios en la twig que se está introduciendo con los cambios en su twig. Este compromiso necesita un post, que puede ser pnetworkingeterminado (con el parámetro –no-edit) a algo similar a 'fusionarse'; pero generalmente se considera que es less que útil. Se invoca un editor para permitir que se ingrese un post significativo para la fusión.

Independientemente de si edita o no el post o utiliza el valor pnetworkingeterminado, se crea la confirmación 'adicional' y desordera el historial, ya que no es una confirmación necesaria para el trabajo que está realizando en su sucursal. Está ahí simplemente para "alcanzar" a su sucursal con lo que ha estado sucediendo en la otra twig

Una alternativa que no agrega commits innecesarios a su twig es usar git pull --rebase . Esto le permitirá ponerse al día con las confirmaciones en la otra twig, sin la molestia de la confirmación adicional. Aquí hay un artículo que lo analiza con más detalle: tire con rebase .