Git no detecta cambios después de mover .git dir, devuelto

Accidentalmente moví la carpeta .git fuera de mi directory de trabajo antes de agregar y cambiar algunos files. Cuando reemplacé la carpeta .git después de realizar los cambios, git no recogió los cambios (utilicé git add . , git commit -a ). Traté de reproducir el problema y fallé. ¿Hay alguna manera de obligar a Git a escanear en busca de cambios en un tree fuente, o de alguna otra manera para solucionarlo?

En lugar de tratar de "encajar" la nueva carpeta git en el proyecto, debe:

  1. clonar un nuevo repository en la misma computadora.
  2. Coloque todos los files antiguos (todos excepto la carpeta .git) en la nueva carpeta.
  3. esto le dará todos los nuevos files modificados y nuevos listdos en 'estado de git'
  4. ahora puede comprometerse y presionarlos sin ningún problema.

Este mi humilde opinión es de lejos el mejor enfoque para este caso incómodo, que me encontré en un par de ocasiones. Sin embargo, no funcionará si la diferencia entre su repository y el central es demasiado grande, lo que le obligará a realizar un megacompromiso que a veces no es deseable.

Ha pasado mucho time desde que lo preguntaste, espero que esto aporte algo de luz al asunto.

Yo, desafortunadamente, hago esto todo el time. Tengo un directory / repository de .git que me muevo dentro y fuera de numerosas 'versiones de lanzamiento' (de otro sistema de VC). Cuando muevo el .git, puedo realizar un 'estado de git' y encontrar qué ha cambiado en la nueva versión. Luego hago 'git add -A; git commit -m 'release-xyz' 'sin ningún problema. Incluso puedo cambiar las twigs, sin verificación, usando 'git symbolic-ref HEAD …' Cuando termino de comprometer un lanzamiento, muevo el .git y puedo hacer todo el 'git diff branch1..branch2' y otras operaciones también.

Entonces, ¡no veo lo que describiste como un problema!