Relacionado: ¿Debería cada git commit dejar el proyecto en un estado de trabajo?
Supongamos que hago los siguientes commits localmente:
Modifique el esquema de la base de datos, rompiendo la aplicación.
Actualice la aplicación para que sea compatible con el esquema de la base de datos nuevamente.
Mientras presione ambas confirmaciones, master
permanece en un estado de trabajo. Sin embargo, una versión histórica está rota.
Soy consciente de que puedo usar git rebase -i
para aplastar los commits juntos. Sin embargo, la confirmación resultante será grande y menos descriptiva. Si necesito buscar en el historial de confirmaciones para averiguar por qué cambié algo, prefiero encontrar la confirmación original que muestre lo que hice y por qué.
Mis preguntas son:
¿Alguien ha encontrado dificultades debido a compromisos históricos rotos en el maestro?
Si es así, ¿hay una manera simple de evitar tales dificultades, sin descartar los mensajes de confirmación individuales y los cambios?