your working untracked stash please files discard clean changes cache before git git-clean

working - git stash



¿Cómo preservar todos los archivos ignorados en git clean-fd? (2)

Cuando tengo .gitignore data/* y ejecuto git clean -fd , se git clean -fd la carpeta de datos y todos sus archivos de contenido.

Lo que quiero es eliminar todos los archivos no revisados ​​en un repositorio git mientras excluyo todos los archivos ignorados (es decir, NO elimine los archivos ignorados). ¿Qué puedo hacer?


Git normalmente no limpia los archivos ignorados a menos que especifiques el indicador -x , pero curiosamente se borra cuando se configura como lo hiciste ( folder/* ).

Como @VonC lo comentó, debe cambiar su .gitignore para ignorar el directorio ( data/ ) en lugar de lo que .gitignore ( data/* ).

Es una diferencia sutil, pero importa a git.


He encontrado algunos más detalles. Tener /tmp/* en gitignore, git clean -fd lo eliminará. Como se dijo en otras respuestas, esto no ocurre con /tmp/ en gitignore.

Pero una vez que haya registrado cualquier archivo en este directorio, git clean -fd ignorará esta ruta. Esto se puede lograr con git add -f o agregando !/tmp/.keep a gitignore y revisando este archivo.