¿Cómo puedo deshacer cada cambio realizado en mi directorio después de la última confirmación, incluida la eliminación de archivos agregados, restablecer archivos modificados y volver a agregar archivos eliminados?
git
git-commit
git-reset
git-revert
Dogbert
fuente
fuente
Respuestas:
Primero reinicie los cambios
luego limpie todo sin seguimiento. Si desea mantener los archivos que no se rastrean debido a
.gitignore
, tenga cuidado con este comando.fuente
-x
opcióngit clean
, que lo dirige a eliminar también los archivos ignorados.git clean -fd
comando.git clean -fd
, no eliminará los archivos ignorados.-x
será.git clean -fd
eliminará esas carpetas y archivos sin seguimiento. Probado con git versión 1.9.1Puede deshacer los cambios en los archivos rastreados con:
Puede eliminar archivos sin seguimiento con:
Puede eliminar archivos y directorios sin seguimiento con:
pero no puede deshacer el cambio a archivos sin seguimiento .
Puede eliminar archivos y directorios ignorados y no rastreados
pero no puede deshacer el cambio a archivos ignorados .
También puedes configurarlo
clean.requireForce
parafalse
:para evitar usar
-f
(--force
) cuando lo usasgit clean
.fuente
Hay dos comandos que funcionarán en esta situación,
root> git reset --HAD HEAD ~ 1
root> git push -f
Para más comandos git, consulte esta página
fuente
git push -f
no está relacionado con la pregunta y, en este escenario, es peligroso