Tengo un repo de git con una carpeta que contiene files que son código fuente autogenerado. En horas extras, se hicieron algunas modificaciones manuales ligeras a ese código. Ahora estoy en una position en la que necesito regenerar los files, pero no quiero perderme ninguno de los cambios que se realizaron.
Lo que me gustaría hacer es get una diferencia de todos los cambios realizados en esa carpeta con el time, pero excluir el 'complemento' original de cada file. De esa manera podría simplemente aplicar el diff al nuevo set de files.
Hay otro detalle importante: no todos los files se agregaron al mismo time. Las adiciones se mezclan con las ediciones. Por lo tanto, no es tan simple como generar un diff a partir de una confirmación específica.
¿Algunas ideas?
MÁS CONTEXTO:
SEMILLAS
git log
de git log
con grep
o sed
, supongo? Supongo que todavía tiene la copy anterior de los WSDL, es un buen usuario de control de fuente y todo. Con eso en mente, haría lo siguiente:
Eso fusionará las diferencias de los files generados automáticamente con los ajustes manuales.
Mantenga esa twig alnetworkingedor, para que cada vez que cambien los WSDL, pueda verificar esa ramificación y repetir los dos últimos pasos. Básicamente, esa twig siempre debe contener solo los files generados automáticamente.
Respuesta revisada:
Necesitará una secuencia de commands que recorra ese directory y, al usar cada file, obtenga la confirmación inicial con
git log --format=%H fileName | tail -1
Y que get la diferencia con:
git diff ^output_of_above SHA_last_commit fileName