No cuesta casi nada usar el historial de confirmación mantenido por el sistema de control de versiones. Sin embargo, durante un esfuerzo importante de refactorización (o reorganización / limpieza) de un proyecto, se moverán funciones y clases e incluso espacios de nombres; a veces se fusionarán varios archivos y se dividirán otros archivos. Estos cambios a menudo conducen a la pérdida del historial de confirmación original de algunos archivos.
En mi opinión personal, mantener la organización del proyecto es más importante que mantener el historial del código fuente. La buena organización del proyecto permite que se agreguen continuamente nuevas funciones con un esfuerzo razonable, mientras que el valor del historial del código fuente parece ser dudoso.
Además, con el uso de pruebas unitarias, los problemas de regresión se identifican rápidamente. Mientras la última versión continúe satisfaciendo todos los requisitos de software, ¿realmente necesitamos preservar el historial del código fuente?
Entiendo que cualquier código fuente enviado debe conservarse debido a la necesidad de brindar soporte a los clientes sin requerirles que realicen una actualización importante de la versión. Pero aparte de esto, ¿hay algún valor en mantener el historial de confirmaciones del código fuente?
¿El historial de confirmación del código fuente juega algún papel en las comunicaciones entre los miembros del equipo? ¿Qué pasa si abolimos el historial de confirmación, pero en su lugar nos basamos en el "código fuente" + "código de prueba de la unidad" para la comunicación?
¿La existencia de un historial de compromiso hace que uno se sienta complacido con la documentación a largo plazo de información importante sobre el proyecto, como los principales cambios de diseño / requisitos y las corrientes de pensamiento que impulsaron esos cambios?
These changes often lead to the loss of the original commit history of a few files.Eche un vistazo, por ejemplo, a "culpar a git": no se pierde nada. A veces puede ser un poco más difícil de encontrar, pero siempre está ahí.