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.