Estoy usando Git para el control de versiones. Ahora quiero eliminar en mi máquina local todos los archivos en el repositorio que no se rastrean.
Puedo usar
git status
para enumerar estos archivos, pero ¿cómo puedo eliminarlos todos?
Estoy usando Git para el control de versiones. Ahora quiero eliminar en mi máquina local todos los archivos en el repositorio que no se rastrean.
Puedo usar
git status
para enumerar estos archivos, pero ¿cómo puedo eliminarlos todos?
Respuestas:
Si lo ignoras, úsalo git clean -xf
. Puede hacerlo, git clean -df
pero eso también eliminará los directorios no rastreados. Úselo -n
para una carrera en seco.
-xf
eliminará y los archivos ignorados y esto probablemente NO sea lo que desea. Use -nf
y proceda con cuidado. Ver: stackoverflow.com/questions/61212/…
Enfoque interactivo del usuario:
git clean -i -fd
Remove .classpath [y/N]? N
Remove .gitignore [y/N]? N
Remove .project [y/N]? N
Remove .settings/ [y/N]? N
Remove src/com/amazon/arsdumpgenerator/inspector/ [y/N]? y
Remove src/com/amazon/arsdumpgenerator/manifest/ [y/N]? y
Remove src/com/amazon/arsdumpgenerator/s3/ [y/N]? y
Remove tst/com/amazon/arsdumpgenerator/manifest/ [y/N]? y
Remove tst/com/amazon/arsdumpgenerator/s3/ [y/N]? y
-i para interactivo
-f para archivo
-d para directorio
Nota: Agregue -n o --dry-run para verificar lo que hará.
Hay una sutileza que vale la pena mencionar acerca de los git clean -f
archivos y directorios no rastreados. Si tiene un directorio sin seguimiento que contiene archivos que, a fortiori, no tienen seguimiento, git clean -f
NO eliminará esos archivos sin seguimiento.
En otras palabras, NO siempre es el caso que git clean -f
eliminará todos los archivos no rastreados. Una mejor explicación git clean -f
es que elimina todos los archivos no rastreados que no están en directorios no rastreados.
git clean -f -d
debe usarse para eliminar archivos sin seguimiento que están en directorios sin seguimiento y parece que no hay forma de eliminar todos los archivos sin seguimiento sin eliminar también los directorios sin seguimiento que solo contienen archivos sin seguimiento.
Úselo git clean -f -d -n
para VER REALMENTE lo que desea hacer para restaurar su directorio de trabajo a lo que sería sin ningún archivo sin seguimiento. Entonces usa git clean -f -d
para hacer eso.