Question Comment puis-je supprimer les fichiers .DS_Store d'un référentiel Git?


Comment puis-je supprimer ces ennuyeux Mac OS X .DS_Store des fichiers d'un dépôt Git?


939
2017-09-20 09:15


origine


Réponses:


Supprimer les fichiers existants du référentiel:

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

Ajouter la ligne

.DS_Store

au fichier .gitignore, qui peut être trouvé au plus haut niveau de votre dépôt (ou créé s'il n'y est pas déjà). Vous pouvez le faire facilement avec cette commande dans le répertoire supérieur

echo .DS_Store >> .gitignore

alors

git add .gitignore
git commit -m '.DS_Store banished!'

1815
2017-09-20 11:18



Combinant les réponses de benzado et webmat, mise à jour avec git rm, ne pas échouer sur les fichiers trouvés qui ne sont pas en repo, et le rendre collable pour tout utilisateur:

# 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

211
2017-07-14 23:42



La meilleure solution pour résoudre ce problème consiste à ignorer globalement ces fichiers de tous les dépôts git sur votre système. Cela peut être fait en créant un fichier gitignore global comme:

vi ~/.gitignore_global

Ajouter des règles pour ignorer des fichiers comme:

# 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

Maintenant, ajoutez ce fichier à votre config git globale:

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

Modifier:

Icônes supprimées car elles peuvent devoir être validées en tant qu'actifs de l'application.


118
2017-07-13 08:03



Dans certaines situations, vous pouvez également vouloir ignorer certains fichiers globalement. Pour moi, .DS_Store est l'un d'entre eux. Voici comment:

git config --global core.excludesfile /Users/mat/.gitignore

(Ou tout fichier de votre choix)

Ensuite, éditez le fichier comme le .gitignore d'un repo. Notez que je pense que vous devez utiliser un chemin absolu.


51
2017-09-20 13:08



J'ai dû changer git-rm pour git rm dans le ci-dessus pour le faire fonctionner:

find . -depth -name '.DS_Store' -exec git rm --cached '{}' \; -print

13
2017-07-20 14:05



Si vous ne parvenez pas à supprimer les fichiers parce qu'ils ont des modifications, utilisez:

git rm --cached -f *.DS_Store

11
2018-05-12 00:21



Ouvrez le terminal et tapez "cd <ProjectPath>"

  1. Supprimer les fichiers existants: find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch

  2. nano .gitignore

  3. Ajoute ça .DS_Store

  4. tapez "ctrl + x"

  5. Tapez "y"

  6. Entrer pour enregistrer le fichier

  7. git add .gitignore

  8. git commit -m '.DS_Store removed.'


10
2017-11-24 09:30



les supprimer en utilisant git-rm, puis ajoutez .DS_Store à .gitignore pour les empêcher d'être ajouté à nouveau. Vous pouvez aussi utiliser blueharvest pour les empêcher de se créer tous ensemble


8
2017-09-20 09:20