¿Tienes tu directorio git lleno de archivos sin seguimiento y te empieza a molestar a la hora de elegir los cambios para el commit? Bueno, tengo dos consejos para ti:
git clean
Este es un comando incorporado para limpiar los archivos sin seguimiento. Ten cuidado con éste, ¡borra los archivos permanentemente!
¡Siempre añade las opciones -n
o --dry-run
para ver el daño que harás! (fuente)
- Si sólo limpias los archivos no rastreados, ejecuta
git clean -f
- Si quieres eliminar también los directorios, ejecuta
git clean -f -d
- Si sólo quieres eliminar los archivos ignorados, ejecute
git clean -f -X
- Si desea eliminar tanto los archivos ignorados como los no ignorados, ejecute
git clean -f -x
Note, que hay -f
/ --force
opción en cada ejemplo, esto es debido a la configuración por defecto de git: Si la variable de configuración de git clean.requireForce no se establece en false, git clean se negará a ejecutarse a menos que se le dé -f o -n.
git trash
Alternativa suave a git clean. Mueve todos los archivos no escaneados al directorio .trash para su posterior revisión.
Para que este comando funcione es necesario añadir el directorio .trash
al local o global .gitignore
. Si no lo haces git trash
intentará eliminar también la carpeta .trash
.
echo ".trash" >> .gitignore
Ahora añade el acceso directo trash
git a tu lista global de alias:
git config --global alias.trash '!mkdir -p .trash && git ls-files --others --exclude-standard | xargs mv -f -t .trash'
Y ya está. Ahora puedes ejecutar git trash
en la raíz de tu repositorio git y todos los archivos que no estén en fase se moverán al subdirectorio .trash
.
Consejos relacionados:
Elimina todas tus ramas git locales pero mantén el master