Recupere los cambios locales en el repository git después de un reemploop en el directory raíz repo

Alguna idea de cómo recuperar los cambios locales en un repository git después de un find . -type f | xargs sed -i 's/[\t ]*$//g' find . -type f | xargs sed -i 's/[\t ]*$//g' find . -type f | xargs sed -i 's/[\t ]*$//g' en el directory raíz de repo?

Como al principio entendí mal la pregunta, creo que debería aclarar que el problema aquí es que el command que ha ejecutado también tendrá files reescritos en el directory de objects de git. (Claramente, los files en su tree de trabajo se pueden restaurar usando las sugerencias habituales de git reset --hard de git reset --hard , con la advertencia habitual de que se perderán los cambios locales no confirmados).

No he tenido que lidiar con esta situación yo mismo, pero sugeriría lo siguiente:

  1. Copie su repository dañado en algún lugar, guarde solo en caso de que intentar reparar el daño empeore las cosas.
  2. Intente ejecutar: git fsck para evaluar el daño, entre otros controles, esto verá qué contenido de los files ya no coincide con sus valores hash.
  3. Intente encontrar cualquier clon del repository que se recuperó por última vez antes de la corrupción (y conserve cuidadosamente una copy del mismo). Puede usar esto en lugar del repository dañado si tiene cuidado de actualizar .git/config correctamente y get los permissions de file correctos.

Puede ser que deberías intentar:

git reset --hard HEAD

Esto es para descartar todas las modificaciones en los files rastreados y revertir el directory de trabajo al estado de HEAD