Cómo get cambios en los files en un repository git mientras se omiten los nuevos files

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:

  • Los files generados automáticamente son classs proxy SOAP que se generan a partir de files WSDL
  • Estamos tratando con más de un service, por lo que las classs se agregaron a medida que se necesitaban.
  • Recibimos una máquina virtual de server actualizada con WSDL que contiene correcciones menores
  • La herramienta utilizada para generar las classs de proxy tiene algunas implementaciones incompletas, por lo que los cambios realizados en esos files fueron una solución.

SEMILLAS

  • ¿Hay alguna forma de conocer el SHA del primer commit de un file? Un sabor de git log de git log con grep o sed , supongo?
  • Tal vez get un recuento de commits en un file específico donde 1 == no solo cambia un inserto y podría sacarlos.

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:

  • Cree y compruebe una nueva twig desde mucho antes de agregar cualquiera de los files en cuestión.
  • Genere las classs utilizando los antiguos WSDL y commit.
  • Genere las classs utilizando los nuevos WSDL y commit.
  • Checkout master y fusiona la nueva twig en.

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