Pregunta ¿Cómo revertir los cambios no confirmados, incluidos los archivos y las carpetas?


¿Hay un comando git para revertir todos los cambios no confirmados en un árbol e índice de trabajo y también para eliminar los archivos y las carpetas recién creados?


878
2018-04-27 16:06


origen


Respuestas:


Puede ejecutar estos dos comandos:

# Revert changes to modified files.
git reset --hard

# Remove all untracked files and directories. (`-f` is `force`, `-d` is `remove directories`)
git clean -fd

1473
2018-04-28 02:37



Si desea revertir los cambios solo en el directorio de trabajo actual, use

git checkout -- .

Y antes de eso, puede enumerar los archivos que se revertirán sin realizar ninguna acción, solo para verificar lo que sucederá, con:

git checkout --

475
2018-06-21 04:41



Use "git checkout - ..." para descartar cambios en el directorio de trabajo

git checkout -- app/views/posts/index.html.erb

o

git checkout -- *

elimina todos los cambios realizados a los archivos no supervisados ​​en estado de git, por ejemplo

modified:    app/controllers/posts.rb
modified:    app/views/posts/index.html.erb

92
2018-03-13 01:16



Una forma no trivial es ejecutar estos dos comandos:

  1. git stash  Esto moverá tus cambios al escondite, trayéndote de vuelta al estado de HEAD
  2. git stash drop  Esto eliminará el último escondite creado en el último comando.

42
2017-07-18 09:20



git clean -fd

no ayudó, quedaron nuevos archivos. Lo que hice fue eliminar totalmente todo el árbol de trabajo y luego

git reset --hard

Ver "¿Cómo borro mi directorio de trabajo local en git?"por consejo para agregar el -x opción para limpiar:

git clean -fdx

Nota  -x flag eliminará todos los archivos ignorados por Git, así que ten cuidado (mira la discusión en la respuesta a la que me refiero).


14
2017-10-15 06:57



Creo que puedes usar el siguiente comando: git reset --hard


10
2018-04-27 16:10



Tenga en cuenta que aún puede haber archivos que no parecen desaparecer, es posible que no se hayan editado, pero es posible que git los haya marcado como editados debido a los cambios CRLF / LF. Vea si ha realizado algunos cambios en .gitattributes recientemente.

En mi caso, agregué configuraciones CRLF en el .gitattributes archivo y todos los archivos permanecieron en la lista "archivos modificados" debido a esto. Cambiar la configuración de .gitattributes los hizo desaparecer.


5
2017-07-19 10:07



Un camino seguro y largo:

  1. git branch todelete
  2. git checkout todelete
  3. git add .
  4. git commit -m "I did a bad thing, sorry"
  5. git checkout develop
  6. git branch -D todelete

-2
2017-11-19 02:08