Saltar al contenido
GitTree
guías de git4 minutos de lectura

Cómo descartar cambios locales y eliminar archivos sin seguimiento en Git

Tres comandos diferentes eliminan tres tipos diferentes de cambios. A continuación se explica cómo desechar ediciones, cambios preparados y archivos nuevos, un archivo o todos, y cómo obtener una vista previa del mismo primero para que no quede nada importante con ellos.

Escrito por Kodmora

La casa de software detrás de GitTree

Actualizado
  • Deshacer y recuperar
  • Preparación
En esta página

Para descartar cambios en los archivos rastreados, ejecute `git restore .` Para eliminar archivos y carpetas sin seguimiento, ejecute `git clean -fd`. Para volver completamente a la última confirmación, ejecute `git reset --hard` seguido de `git clean -fd`. Git no puede recuperar estos cambios después, así que obtenga una vista previa primero con git status y git clean -nd.

¿Qué comando descarta qué?

Comandos para cada tipo de cambio.
lo que quieres que se vayaComando
Edita un archivo rastreadogit restore path/to/file
Ediciones a todos los archivos rastreadosgit restore .
Cambios por etapas, manteniendo las ediciones.git restore --staged .
Cambios y ediciones por etapasgit restore --staged --worktree .
Archivos nuevos que Git no rastreagit clean -f
Nuevos archivos y carpetasgit clean -fd
Todo desde el último commit.git reset --hard luego git clean -fd

¿Cómo descarto los cambios en un archivo?

git restore src/search.ts

# only some of the changes, hunk by hunk
git restore -p src/search.ts

# the same file as it was on another branch
git restore --source=main src/search.ts

Las guías más antiguas utilizan git checkout -- src/search.ts. Todavía funciona, pero git restore (Git 2.23 o posterior) solo hace este trabajo, por lo que es más difícil usarlo incorrectamente.

¿Cómo descarto todos los cambios locales?

# tracked files, staged or not
git reset --hard

# then untracked files and folders
git clean -fd

# confirm
git status
# nothing to commit, working tree clean

git reset --hard sin confirmación mantiene la rama donde está y solo borra archivos. Explicación del reinicio de Git cubre lo que hace cuando nombras una confirmación.

¿Cómo elimino un archivo sin perderlo?

git restore --staged src/search.ts

El archivo sale del área de preparación y sus ediciones permanecen en la carpeta de trabajo. No se elimina nada.

¿Cómo elimino archivos sin seguimiento con git clean?

Siempre obtenga una vista previa primero. -n es un ensayo, que solo enumera lo que funcionaría:

# preview files and folders
git clean -nd

# delete them
git clean -fd

# ask about each one
git clean -id
opciones de limpieza de git
BanderaSignificado
-nEjecución en seco: solo listar, no eliminar nada
-fFuerza: necesaria para eliminar cualquier cosa
-dIncluir carpetas sin seguimiento
-iInteractivo: elige lo que va
-xElimine también archivos ignorados, como .env y node_modules
-XEliminar solo archivos ignorados

¿Puedo recuperar cambios descartados?

  • Trabajo confirmado: sí, hasta git reflog.
  • Trabajo escondido: sí. A menudo incluso se puede encontrar un alijo caído, como se muestra en recuperar un alijo caído.
  • Preparado pero nunca confirmado: a veces, con git fsck --lost-found.
  • Nunca preparado: no. Es posible que el historial local de su editor aún lo contenga.

Si un archivo fue eliminado y confirmado, cómo restaurar un archivo eliminado tiene los pasos.

Cómo descartar cambios en GitTree

  1. Elige qué tirar

    Pase el cursor sobre un archivo en el panel de cambios y seleccione Descartar cambios en el archivo..., o haga clic con el botón derecho en varios archivos para Descartar cambios.... En una diferencia, utilice Descartar trozo o Descartar líneas.

  2. Limpiar o borrar todo

    Ejecute Limpiar archivos sin seguimiento... o Descartar todos los cambios... desde la paleta de comandos.

  3. Leer la confirmación

    El cuadro de diálogo nombra lo que sucede y Cancelar es el valor predeterminado. GitTree guarda primero una instantánea de recuperación, para que Deshacer pueda recuperarla.

Descartar un archivo en GitTree: coloque el cursor sobre el archivo, presione descartar, lea la confirmación.
Descartar un archivo en GitTree: coloque el cursor sobre el archivo, presione descartar, lea la confirmación.GitTree interfaz con un repositorio de demostración.

Consulte descartar cambios y limpiar archivos sin seguimiento para cada opción, y ignorar y limpiar lección para practicar.

Preguntas frecuentes

¿Cuál es la diferencia entre git restablecimiento y git checkout?

git checkout cambia de rama y restaura archivos. Git 2.23 divide esos trabajos en git switch y git restore, que son más claros. La forma antigua todavía funciona.

¿Git reset --hard elimina archivos sin seguimiento?

No. Restablece únicamente los archivos rastreados. Los archivos nuevos permanecen hasta que ejecutes git clean -fd.

¿Por qué git clean dice "negarse a limpiar"?

Git requiere -f de forma predeterminada (clean.requireForce) para que un error tipográfico no pueda eliminar archivos. Agregue -f una vez que el ensayo se vea bien.

¿Git clean elimina archivos ignorados?

No, a menos que agregues -x o -X. Un git clean -fd simple deja todo en .gitignore en paz.

¿Cómo conservo los cambios pero obtengo una carpeta limpia?

Ejecute git stash -u. Guarda los cambios con y sin seguimiento y borra la carpeta. Vuelve a traerlos más tarde con git stash pop, como explica la guía de almacenamiento.

Fuentes

Las afirmaciones sobre otros productos se compararon con sus páginas oficiales el 7 de noviembre de 2026. Los precios y las características cambian; Las páginas de los proveedores son la fuente de la verdad.