Actualización 2019:
Desde julio de 2019 , se ha producido un nuevo comando que hace exactamente esto: git restore
.
En git status
, ahora Git recomienda usar este comando en lugar de git checkout
como solía hacerlo.
Si bien este comando también se puede usar para restaurar el árbol de trabajo a una confirmación específica o para restaurar el contenido del índice, de manera predeterminada, el árbol de trabajo se restaura al estado en el índice (lo que se solicita aquí).
Entonces, para restaurar los archivos que coinciden con una especificación de ruta (deshacerse de sus cambios no organizados), debe hacer lo siguiente:
git restore <pathspec>
Por ejemplo, para restaurar todos los cambios no organizados en el directorio actual, puede ejecutar:
git restore .
Si ejecuta esto desde la raíz del proyecto, restaurará todos los cambios no organizados en todo el repositorio.
Tenga en cuenta que, al igual que con git checkout -- .
(como señaló Mariusz Nowak), esto solo descartará los cambios en los archivos rastreados por Git y no descartará ningún archivo nuevo no rastreado. Si desea descartar cualquier cambio sin clasificar, incluidos los nuevos archivos sin seguimiento, puede ejecutar un adicional:
git clean -df
Sin embargo, tenga mucho cuidado con este comando posterior, ya que podría descartar archivos de los que no tenía intención de deshacerse.
Nota sobre git restore
: como se trata de un nuevo comando, su página de manual muestra una advertencia:
Este comando es experimental. El comportamiento puede cambiar.
Por lo tanto, es posible que esta respuesta quede desactualizada si el comportamiento cambia en el futuro. Por lo tanto, sería aconsejable ejecutar un rápido man git-restore
antes de usarlo.
git-clean
solo elimina archivos no rastreados del