git - etiquetas - remove tag local and remote
Deshacer eliminar en GIT (2)
Hágase un favor y no haga git checkout <hash>
como sugiere la otra respuesta y entre más problemas.
SI ha eliminado el archivo de su directorio de trabajo y aún no ha confirmado los cambios, haga lo siguiente:
git checkout -f
PRECAUCIÓN: ingrese los archivos no confirmados antes de ejecutar este comando; de lo contrario, los perderá a todos
Los archivos eliminados deberían estar de vuelta.
Si no, y si puede encontrar la confirmación que desea (C, etc., su pregunta no está clara) de git reflog
, simplemente haga que git reset --hard <hash from reflog>
y usted debe estar todo listo.
Hice algo muy estúpido. Hice una confirmación usando git commit (ediciones de archivos + archivos nuevos) (C). Luego hice la modificación del último compromiso. Luego eliminé todos los archivos recursivamente (!) Usando git rm -r
Luego hice otro commit de git (C).
A-B-C ↑ master
¿Hay alguna manera de recuperar los archivos pero mantener los cambios que tuve en mi primer commit? (C) Prefiero no volver a (B). Probé el reinicio de git --soft head ^, entonces el estado de git enumera los archivos que eliminé, luego hice el pago de git, pero todavía no tuve suerte. Ni siquiera sé si es posible.
Si te entendí correctamente, reescribiste la confirmación C. Entonces, la confirmación original, llamémosla C1, no se puede acceder desde tu gráfica de confirmación, pero sigue allí (git guarda todas las confirmaciones por un tiempo). Use git reflog
para obtener el hash de confirmación y el git checkout <hash>
u otro comando apropiado para llegar al estado anterior C1.