.gitignore tout le.DS stocke des fichiers dans chaque dossier et sous-dossier
j'ai ajouté .DS_Store à l' .dossier gitignore, mais il semble qu'il ne fait qu'ignorer .DS_Store dans le répertoire racine, pas dans chaque dossier et sous-dossier.
comment arranger ça?
8 réponses
je pense que le problème que vous avez est que dans une commit plus tôt, vous avez accidentellement ajouté .DS_Store file vers le dépôt. Bien sûr, une fois qu'un fichier est suivi dans votre référentiel, il continuera à être suivi même si elle correspond à une entrée dans un lieu .dossier gitignore.
Vous devez supprimer manuellement le .DS_Store fichiers qui ont été ajoutés à votre dépôt. Vous pouvez utiliser git rm --cached .DS_Store
. Une fois enlevé, git devrait l'ignorer. Vous devriez seulement besoin de l' ligne suivante dans votre racine .dossier gitignore: .DS_Store
. N'oubliez pas la période!
git rm --cached .DS_Store
supprime seulement .DS_Store
de l'annuaire courant. Vous pouvez utiliser find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
pour supprimer tout .DS_Stores
du dépôt.
Felt tip: puisque vous ne voulez probablement jamais inclure .Les fichiers DS_Store, faire une règle. Tout d'abord, faire un mondial .gitignore fichier quelque part, par exemple echo .DS_Store >> ~/.gitignore_global
. Maintenant indiquer à git de l'utiliser pour tous les référentiels: git config --global core.excludesfile ~/.gitignore_global
.
cette page m'a aidé à répondre à votre question: https://help.github.com/articles/ignoring-files
ajouter **/.DS_Store
dans .gitignore
pour le sous-répertoire
si .DS_Store
déjà commis:
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
pour les ignorer dans tous les dépôts: (parfois appelé ._.DS_Store
)
echo ".DS_Store" >> ~/.gitignore_global
echo "._.DS_Store" >> ~/.gitignore_global
echo "**/.DS_Store" >> ~/.gitignore_global
echo "**/._.DS_Store" >> ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global
si .DS_Store n'a jamais été ajouté à votre dépôt git, il suffit de l'ajouter à votre .dossier gitignore.
Si vous n'en avez pas, créez un fichier appelé
.gitignore
dans votre répertoire racine de votre application et simplement écrire
**/.DS_Store
dedans. Cela ne permettra jamais le .DS_Store fichier à se faufiler dans votre dépôt git.
mais, s'il est déjà là, écrivez dans votre terminal:
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
puis valider et soumettre les modifications pour supprimer le .DS_Store à partir de votre télécommande repo:
git commit -m "Remove .DS_Store from everywhere"
git push origin master
et maintenant ajouter.DS_Store pour votre .gitignore, puis encore commit et push avec les 2 derniers morceaux de code (git commit... git push...)
Étape 1, supprimer tous les fichiers *.DS_store
. On peut exécuter
git rm -f *.DS_Store
mais sachez que rm -f
peut être un peu dangereux si vous avez une typo!
Deuxième étape: ajouter
*.DS_Store
.DS_Store
to .gitignore. Cela a fonctionné pour moi!
vous pouvez également ajouter le drapeau --cached
à la réponse de auco pour maintenir local .DS_store files, comme Edward Newell l'a mentionné dans sa réponse originale. La commande modifiée ressemble à ceci: find . -name .DS_Store -print0 | xargs -0 git rm --cached --ignore-unmatch
..salut et merci!
ajouter *.DS_Store
à votre .dossier gitignore. Cela me convient parfaitement
Étape: 1) Supprimer les fichiers existants en utilisant cette commande
trouver . -nom. DS_Store-print0 | xargs -0 git rm-f -- ignore-unmatch
Étape: 2) Ajouter .DS_Store dans votre .gitignore file
Étape :3) valider vos modifications .gitignore git add .gitignore git commit -m "a été supprimé .DS_Store "