git - modificados - ¿Cómo revertir los cambios no confirmados, incluidos los archivos y carpetas?
ignorar cambios git (11)
¿Hay un comando git para revertir todos los cambios no confirmados en un árbol de trabajo e índice y también para eliminar los archivos y carpetas recién creados?
Creo que puedes usar el siguiente comando: git reset --hard
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
Si desea revertir los cambios solo en el directorio de trabajo actual, use
git checkout -- .
Y antes de eso, puede hacer una lista de los archivos que se revertirán sin realizar ninguna acción, solo para verificar qué ocurrirá, con:
git checkout --
Si tiene un cambio no confirmado (solo en su copia de trabajo) que desea volver a la copia en su último compromiso, haga lo siguiente:
git checkout filename
Tenga en cuenta que todavía puede haber archivos que no parecen desaparecer, es posible que no estén editados, pero que git los haya marcado como editados debido a los cambios de CRLF / LF. Vea si ha realizado algunos cambios en .gitattributes
recientemente.
En mi caso, he agregado la configuración de CRLF en el archivo .gitattributes
y todos los archivos permanecieron en la lista de "archivos modificados" debido a esto. Cambiar la configuración de .gitattributes los hizo desaparecer.
Un camino seguro y largo:
-
git branch todelete
-
git checkout todelete
-
git add .
-
git commit -m "I did a bad thing, sorry"
-
git checkout develop
-
git branch -D todelete
Una forma no trivial es ejecutar estos dos comandos:
-
git stash
Esto moverá tus cambios al stash, devolviéndote al estado de HEAD -
git stash drop
Esto eliminará el último alijo creado en el último comando.
Use "git checkout - ..." para descartar los cambios en el directorio de trabajo
git checkout -- app/views/posts/index.html.erb
o
git checkout -- *
elimina todos los cambios realizados en archivos sin etapas en estado git, por ejemplo
modified: app/controllers/posts.rb
modified: app/views/posts/index.html.erb
Usualmente uso esta manera que funciona bien:
mv fold/file /tmp
git checkout fold/file
Utilizar:
git reset HEAD filepath
Por ejemplo:
git reset HEAD om211/src/META-INF/persistence.xml
git clean -fd
No ayudó, quedaron nuevos archivos. Lo que hice es borrar totalmente todo el árbol de trabajo y luego
git reset --hard
Consulte " ¿Cómo borro mi directorio de trabajo local en git? " Para obtener consejos sobre cómo agregar la opción -x
para limpiar:
git clean -fdx
Nota: la bandera -x
eliminará todos los archivos ignorados por Git, así que tenga cuidado (vea la discusión en la respuesta a la que me refiero).