Acabo de hacer un
git commit -m "blah"
luego agregué algunos archivos, ¿cómo deshago y elimino lo que hay en mis archivos actuales que aún no se han agregado / confirmado?
Acabo de hacer un
git commit -m "blah"
luego agregué algunos archivos, ¿cómo deshago y elimino lo que hay en mis archivos actuales que aún no se han agregado / confirmado?
Respuestas:
Caveat Emptor : comandos destructivos por delante.
Mitigación : git reflog puede salvarlo si lo necesita.
1) DESHAGA los cambios en el archivo local y MANTENGA su última confirmación
git reset --hard
2) DESHACER los cambios del archivo local y ELIMINAR su última confirmación
git reset --hard HEAD^
3) MANTENGA los cambios del archivo local y ELIMINE su última confirmación
git reset --soft HEAD^
Si desea eliminar contenidos y archivos recién agregados que ya están almacenados (por lo tanto, agregados al índice), use:
git reset --hard
Si desea eliminar también su última confirmación (es la que tiene el mensaje "bla"), entonces es mejor usar:
git reset --hard HEAD^
Para eliminar los archivos sin seguimiento (de modo que los archivos nuevos aún no se hayan agregado al índice) y las carpetas, use:
git clean --force -d
git reset --hard forzará al directorio de trabajo a volver a la última confirmación y eliminará los archivos nuevos / modificados.
Puede revertir una confirmación utilizando git revert HEAD^para volver a la penúltima confirmación. También puede especificar la confirmación para revertir usando la identificación en lugar de HEAD ^
Si solo desea eliminar el último compromiso, use esto:
git reset HEAD~
funciona como un encanto para mí.
Una forma sencilla e infalible de DESHACER los cambios de archivos locales desde la última confirmación es colocarlos en una nueva rama:
git branch changes
git checkout changes
git add .
git commit
Esto deja los cambios en la nueva rama. Regrese a la rama original para encontrarla en la última confirmación:
git checkout master
La nueva rama es un buen lugar para practicar diferentes formas de revertir los cambios sin riesgo de estropear la rama original.