Estoy tratando de deshacer todos los cambios desde mi última confirmación. Lo intenté git reset --hard
y git reset --hard HEAD
después de ver esta publicación . Respondo con head ahora en 18c3773 ... pero cuando miro mi fuente local, todos los archivos todavía están allí. ¿Qué me estoy perdiendo?
git
command-line
undo
git-reset
Antarr Byrd
fuente
fuente
Respuestas:
Esto desestabilizará todos los archivos con los que podría haber preparado
git add
:Esto revertirá todos los cambios locales no confirmados (deben ejecutarse en la raíz del repositorio):
También puede revertir los cambios no confirmados solo a un archivo o directorio en particular:
Otra forma de revertir todos los cambios no confirmados (más largos para escribir, pero funciona desde cualquier subdirectorio):
Esto eliminará todos los archivos no rastreados locales, por lo que solo quedan los archivos rastreados por git:
En resumen: la ejecución de los comandos a continuación es básicamente equivalente a la nueva
git clone
fuente original (pero no vuelve a descargar nada, por lo que es mucho más rápido):El uso típico para esto sería en los scripts de compilación, cuando debe asegurarse de que su árbol esté absolutamente limpio: no tiene modificaciones ni archivos de objetos creados localmente o artefactos de compilación, y desea que funcione muy rápido y no volver a generar clonar todo el repositorio cada vez.
fuente
git clean
, deshacerá los cambios no confirmados pero mantendrá todos los archivos sin seguimiento o agregados. Pero, puede afectar el resultado de la compilación porque algunos de los archivos no rastreados pueden estar interfiriendo. Por ejemplo, ¿qué pasa si su directorio .idea está dañado?git reset
me dice que tengo cambios que necesito guardargit clean -fdx
borró minode_modules
y.env
, genialSi desea " deshacer " todos los cambios no confirmados, simplemente ejecute:
Si tiene archivos no rastreados (verifíquelos ejecutando
git status
), estos se pueden eliminar ejecutando:git stash
crea un nuevo alijo que se convertirá en alijo @ {0} . Si desea verificar primero, puede corrergit stash list
para ver una lista de sus escondites. Se verá algo así como:Cada alijo lleva el nombre del mensaje de confirmación anterior.
fuente
git add .
antesgit stash
porque me mostraba cambios no comprometidos incluso despuésgit stash
también existe
git stash
, que "oculta" sus cambios locales y puede volver a aplicarse más adelante o eliminarse si ya no es necesarioMás información sobre el escondite
fuente
Estoy usando el árbol de origen ... Puede revertir todos los cambios no confirmados con 2 sencillos pasos:
1) solo necesita restablecer el estado del archivo del espacio de trabajo
2) seleccione todos los archivos sin etapas (comando + a), haga clic derecho y seleccione eliminar
Es así de simple: D
fuente
Lo que hago es
Un trazador de líneas:
git add . && git stash && git stash drop
fuente
Para aquellos que llegaron aquí buscando si podían deshacer
git clean -f -d
, por lo que se eliminó un archivo creado en eclipse ,Puede hacer lo mismo desde la interfaz de usuario utilizando "restaurar desde el historial local" para la referencia: Restaurar desde el historial local
fuente
Estados en transición de un compromiso a un nuevo compromiso
Acción para la transición del estado
Comprobar diff
Volver a la última confirmación
Equivalente a git clone, sin volver a descargar nada
fuente