soft committed changes git version-control reset git-checkout revert

committed - git "revertir" directorio actual



git revert local changes (3)

Como dice @vcsjones, la solución aquí es git checkout :

git checkout <refspec> -- path/to/directory # or path/to/file

donde <refspec> puede, por ejemplo, ser HEAD , es decir, el compromiso de trabajo actual. Tenga en cuenta que este uso del comando de checkout afectará el árbol de trabajo, PERO NO EL ÍNDICE.

git revert se usa para "revertir un commit", y por esto, NO debe entenderse que el commit desaparece del árbol (causaría estragos en la historia; si lo desea, consulte git rebase -i ). Una confirmación revertida consiste en aplicar, a la inversa , todos los cambios de la confirmación dada como un argumento al árbol y crear una nueva confirmación con los cambios (con un mensaje de confirmación predeterminado, que puede modificar).

En svn es posible hacer svn revert ./* en el que se svn revert ./* el directorio actual y SOLAMENTE el directorio actual.

¿Cuál es el equivalente de git a svn revert en el que solo se svn revert el directorio actual?

Sé que hay git reset --hard , pero revierte todo y no solo el directorio actual.

¿Cómo puedo revertir solo el directorio actual en git?


Cuando era un principiante de git (y temía por la terminal) encontré que la forma más fácil era:

  • cambie a la rama a la que desea revertir su subdirectorio específico
  • Copia el subdirectorio que deseas revertir a tu escritorio.
  • cambiar de nuevo a su rama
  • sobrescriba el subdirectorio que desea reemplazar en su directorio git con el que copió en su escritorio

Vaya a la carpeta que desea revertir y haga esto:

git checkout -- .

Ver más en esta respuesta: https://.com/a/16589534/207661