Ignorando Archivos .DStore en Git (MacOS)
Tabla de contenidos
Este articulo es especifico a MacOS, pero el concepto de ignorar archivos es aplicable a cualquier sistema operativo y a cualquier tipo de archivo que use Git.
Es una buena práctica ignorar ciertos archivos en tu repositorio Git que no son necesarios para tu proyecto. Un archivo común que debe ser ignorado es .DS_Store
, el cual es creado por macOS para almacenar atributos personalizados de una carpeta. Estos archivos son creados por el Finder de macOS para guardar atributos personalizados de una carpeta, como posiciones de iconos y opciones de vista. No son necesarios para tu proyecto y pueden saturar tu repositorio Git. Para evitar que estos archivos sean rastreados por Git, puedes agregarlos a tu archivo .gitignore
.
-> cat .gitignore
.DS_Store
Esto le indica a Git que ignore cualquier archivo .DS_Store
en tu repositorio, evitando que sean rastreados o añadidos.
Pero incluso después de agregar .DS_Store
a tu .gitignore
, podrías seguir viéndolo en la salida de git status
.
Aquí discutimos la razón por la cual .DS_Store
aparece en la salida de git status incluso después de agregarlo a .gitignore
y cómo resolverlo.
Para revisar el estado de tu repositorio Git, puedes ejecutar el comando:
-> git status
On branch main
Your branch is up to date with 'origin/main'.
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .DS_Store
deleted: scripts/update_U2004.sh
modified: scripts/install_docker.sh
Untracked files:
(use "git add <file>..." to include in what will be committed)
chrony_install/install_chrony_Ubuntu_U2204.sh
La salida del comando anterior muestra la línea ` modified: .DS_Store`. No queremos eso.
Si git status aún muestra .DS_Store
después de haberlo agregado a tu .gitignore
, probablemente se deba a que .DS_Store
ya estaba siendo rastreado por git antes de actualizar .gitignore
. El archivo .gitignore
solo previene que nuevos archivos sean rastreados; no afecta archivos que ya están en el repositorio.
Para dejar de rastrear .DS_Store
y asegurarte de que sea ignorado en el futuro, puedes seguir estos pasos:
- Asegúrate de que
.DS_Store
esté listado en tu archivo.gitignore
. - Elimina
.DS_Store
del índice (área de preparación) manteniéndolo en tu sistema de archivos local. - Haz commit de los cambios para actualizar el repositorio.
git rm --cached .DS_Store git add .gitignore git commit -m "Dejar de rastrear .DS_Store y actualizar .gitignore"
Esto eliminará .DS_Store
del repositorio (pero no de tu sistema de archivos local) y asegurará que sea ignorado en el futuro.