Pregunta ¿Cómo descarto cambios no realizados en Git?


¿Cómo descarto los cambios en mi copia de trabajo que no están en el índice?


3854
2017-09-09 19:33


origen


Respuestas:


Otra forma más rápida es:

git stash save --keep-index

Incluir --include-untracked si quieres ser minucioso al respecto.

Después de eso, puedes dejar ese alijo con un git stash drop comando si quieres.


2179
2017-09-09 19:39



Para todos los archivos no ejecutados, use:

git checkout -- .

Para un uso de archivo específico:

git checkout path/to/file/to/revert

Asegúrese de incluir el período al final.


4186
2017-09-09 19:37



Parece que la solución completa es:

git clean -df
git checkout -- .

git clean elimina todos los archivos sin seguimiento (advertencia: mientras que no eliminará los archivos ignorados mencionados directamente en .gitignore, puede eliminar archivos ignorados que residen en carpetas) y git checkout borra todos los cambios no registrados.


1614
2017-08-29 18:28



Esto verifica el índice actual para el directorio actual, tirando hacia abajo todos los cambios en los archivos del directorio actual.

git checkout .

o esto que verifica todos los archivos del índice, sobrescribiendo los archivos del árbol de trabajo.

git checkout-index -a -f

273
2018-06-20 10:28



git clean -df

Limpia el árbol de trabajo mediante la eliminación recursiva de archivos que no están bajo control de versiones, comenzando desde el directorio actual.

-d: Eliminar directorios no rastreados además de archivos no rastreados

-f: Fuerza (puede no ser necesario dependiendo de clean.requireForce ajuste)

correr git help clean ver el manual


210
2017-12-07 13:09



Mi favorito es

git checkout -p

Eso le permite revertir trozos de manera selectiva.

Ver también:

git add -p

81
2017-10-10 12:31



Como ninguna respuesta sugiere la combinación de opciones exacta que uso, aquí está:

git clean -dfx
git checkout .

Este es el texto de ayuda en línea para el usado git clean opciones:

-d

Elimine los directorios sin seguimiento además de los archivos sin seguimiento. Si un directorio no rastreado es administrado por un repositorio de Git diferente, no se elimina de forma predeterminada. Utilizar -f opción dos veces si realmente desea eliminar dicho directorio.

-f

Si la variable de configuración de Git clean.requireForce no está configurado para false, Git Clean se negará a eliminar archivos o directorios a menos que se -f, -n, o -i. Git se negará a eliminar directorios dentro del .git subdirectorio o archivo, a menos que un segundo -f es dado.

-x

No use las reglas de ignorar de .gitignore (por directorio) y $GIT_DIR/info/exclude, pero aún usan las reglas de ignorar que se dan con -e opciones. Esto permite eliminar todos los archivos sin seguimiento, incluidos los productos de compilación. Esto se puede usar (posiblemente junto con git reset) para crear un directorio de trabajo prístino para probar una compilación limpia.

También, git checkout . debe hacerse en la raíz del repositorio.


66
2018-04-28 19:46