Si usa git en la plataforma Mac, es probable que haya encontrado archivos DS_Store en un repositorio de git. Estos pueden ser molestos y saturar un repositorio de git, e incluso puede encontrarse con conflictos innecesarios debido a que los archivos.DS_Store se mantienen en repositorios de git, donde puede ver mensajes de error como”Los archivos.DS_Store y.DS_Store tuvieron un conflicto de árbol”. Debido a que la gran mayoría de los repositorios de git no necesitan los archivos.DS_Store y, en general, solo pueden causar problemas, es razonable querer eliminar los archivos.DS_Store de los repositorios de git.
Primero, si se pregunta qué es un archivo DS_Store, básicamente es un archivo que contiene metadatos específicos de carpetas en una Mac. Por lo tanto, un archivo.DS_Store incluye todo, desde metadatos sobre el tipo de vista, el tamaño del archivo/carpeta, la información en miniatura, el diseño de la carpeta y cualquier personalización del nivel del Finder hasta una carpeta en particular en la Mac. Dado que los archivos.DS_Store tienen el prefijo. en el nombre del archivo, son invisibles para el Finder (lo que los convierte en archivos ocultos), pero se mostrarán en la línea de comandos, y con herramientas de línea de comandos o administradores de repositorios como git que incluirán de forma predeterminada todos los archivos, incluidos los archivos ocultos, en un directorio
Si bien los archivos.DS_Store son obviamente útiles para el Finder, no son útiles para tenerlos en un repositorio de git. Revisemos cómo puede eliminar todos los archivos DS_Store de un repositorio de git y cómo evitar que se almacenen también en futuros repositorios de git.
Cómo eliminar archivos.DS_Store existentes del repositorio Git
Abra la terminal y navegue hasta el directorio git repo que desea borrar de los archivos.DS_Store Ingrese la siguiente cadena de comando:
buscar.-nombre.DS_Store-print0 | xargs-0 git rm-f–ignore-unmatch
Eso encontrará archivos.DS_Store y los eliminará.
Si desea ir más allá, puede eliminar todos los archivos DS_Store archivos de una Mac usando otra variación del comando de búsqueda, pero tenga en cuenta que al hacerlo perderá todas y cada una de las personalizaciones de la ventana y la carpeta del Finder, por lo que no se recomienda particularmente seguir esa ruta.
Cómo ignorar archivos.DS_Store en git
Vamos ahora un paso más allá y evitemos que git mantenga y confirme archivos DS_Store en primer lugar, y en su lugar, ignórelos por completo. Esto se hace modificando (o creando) el archivo.gitignore en el directorio del repositorio activo:
echo.DS_Store >>.gitignore
Ahora querrá agregar el.gitignore archivo a su repositorio y confirme el cambio.
git add.gitignore
git commit-m’Ignorar archivos.DS_Store’
–
Para lo que vale, no es solo git el que puede tener problemas con la creación o el desorden de archivos.DS_Store, o que puede beneficiarse al ignorarlos, también puede excluir los archivos DS_Store de los archivos zip creados en una Mac, lo que puede ayudar para reducir el desorden (y evitar que los metadatos específicos de la máquina) se guarden en un archivo zip. Y puede encontrar que los archivos.DS_Store son desagradables con los entornos de red, pero un comando predeterminado puede evitar la creación de archivos DS_Store para volúmenes de red si es necesario.