¿Cómo puedo eliminar archivos .DS_Store de un repositorio Git?

Resuelto John Topley asked hace 15 años • 32 respuestas

¿ Cómo puedo eliminar esos molestos .DS_Storearchivos de Mac OS X de un repositorio Git?

John Topley avatar Sep 20 '08 16:09 John Topley
Aceptado

Eliminar archivos existentes .DS_Storedel repositorio:

find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch

Añade esta línea:

.DS_Store

al archivo .gitignore, que se puede encontrar en el nivel superior de su repositorio (o cree el archivo si aún no está allí). Puedes hacer esto fácilmente con este comando en el directorio superior:

echo .DS_Store >> .gitignore

Luego envíe el archivo al repositorio:

git add .gitignore
git commit -m '.DS_Store banished!'
benzado avatar Sep 20 '2008 11:09 benzado

Combinando las respuestas de benzodo y webmat, actualizando con git rm, sin fallar en los archivos encontrados que no están en el repositorio y haciendo que cualquier usuario pueda pegarlo genéricamente:

# remove any existing files from the repo, skipping over ones not in repo
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
# specify a global exclusion list
git config --global core.excludesfile ~/.gitignore
# adding .DS_Store to that list
echo .DS_Store >> ~/.gitignore
Turadg avatar Jul 14 '2011 23:07 Turadg

La mejor solución para abordar este problema es ignorar globalmente estos archivos de todos los repositorios de git de su sistema. Esto se puede hacer creando un archivo gitignore global como:

vi ~/.gitignore_global

Agregar reglas para ignorar archivos como:

# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so

# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

# Logs and databases #
######################
*.log
*.sql
*.sqlite

# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

Ahora, agrega este archivo a tu configuración global de git:

git config --global core.excludesfile ~/.gitignore_global

Editar:

Se eliminaron los íconos, ya que es posible que deban confirmarse como activos de la aplicación.

Nerve avatar Jul 13 '2013 08:07 Nerve