¿Cómo ignorar .DS_Store en todos los directorios?

.DS_Store sin / inicial coincide a cualquier profundidad bajo el .gitignore. Si Git sigue mostrando modificaciones, comprueba si ya sigue el archivo.

1. Añadir una regla con el alcance correcto

Pon esta línea en el .gitignore raíz para compartirla. /.DS_Store solo cubre la copia de la raíz. Para una preferencia personal entre repositorios, usa un archivo global.

.DS_Store

¿Por qué una regla global de Git ignora un archivo?

2. Distinguir archivos ignorados de seguidos

Con copias de ejemplo no seguidas, inspecciona la regla de cada ruta:

git check-ignore -v -- .DS_Store assets/.DS_Store

Comprueba después si esas rutas concretas están en el índice. check-ignore suele omitir archivos seguidos; una regla coincidente no detiene su seguimiento.

git ls-files -- .DS_Store assets/.DS_Store

3. Dejar de seguir una copia concreta

Si assets/.DS_Store está seguido, revisa su estado y guarda el trabajo local necesario; después quita solo su entrada del índice:

git rm --cached -- assets/.DS_Store

Revisa la eliminación preparada antes del commit. --cached conserva tu copia local, pero los colaboradores podrían perder la suya al recibir la eliminación. Repite solo con rutas revisadas; evita borrar archivos masivamente o reconstruir todo el índice.

git diff --cached --name-status

¿Cómo ignorar archivos que Git ya sigue?

Consulta las referencias oficiales para conocer el comportamiento exacto y más detalles: Documentación de Git · Documentación de git rm · Documentación de git check-ignore