Peu importe ce que je mets .gitignore
Je ne peux pas pas obtenir git pour ignorer le UserInterfaceState.xcuserstate
fichier ci-dessous:
$ git status
On branch master
Your branch is up-to-date with 'Origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: .gitignore
modified: CalFoo.xcodeproj/project.xcworkspace/xcuserdata/wcochran.xcuserdatad/UserInterfaceState.xcuserstate
J'utilise/modifie le .gitignore
fichier répertorié sur ce message . J'ai tout essayé pour correspondre au modèle, y compris le nom de chemin exact: CalFoo.xcodeproj/project.xcworkspace/xcuserdata/wcochran.xcuserdatad/UserInterfaceState.xcuserstate
en vain.
Ce problème particulier provient du flux de travail où Xcode est utilisé pour créer le dépôt git initial et le .gitignore
le fichier de ici est ajouté par la suite. Une réponse plus générale à l'ignorance des fichiers précédemment suivis dans git peut être trouvée dans cette question (je suppose que je n'ai jamais trouvé ce post dans ma recherche car il n'avait pas "gitignore" dans le titre).
Vous ne pouvez ignorer que les fichiers non versionnés mais ce fichier est déjà connu pour git.
Si vous voulez que git suive ce fichier, il n'est pas nécessaire de dire à git de l'ignorer.
Si vous ne voulez pas que git suive ce fichier, utilisez git rm
et votre règle d'ignorance commencera à fonctionner.
Mise en garde: git rm
supprimera le fichier. Utilisez git rm --cached
à supprimer du référentiel mais pas du disque.
J'ai eu le même problème.
Commencez par valider toutes les modifications de code en suspens, puis exécutez cette commande:
git rm -r --cached .
Cela supprime tous les fichiers modifiés de l'index (zone de transfert), puis exécutez simplement:
git add .
Engagez-le:
git commit -m ".gitignore working now"
Pour annuler git rm --cached filename, utilisez git add filename.
L'un des moyens simples d'ignorer les fichiers sur GitHub est parfaitement expliqué ici https://help.github.com/en/articles/ignoring-files
Avant de faire un Push vers GitHub, votre dossier de projet doit être vide.
1) ouvrez le terminal et écrivez cd
et faites glisser votre dossier de projet sur le terminal. Après cela, cela ressemblera à ceci:
docmacbook$ cd /Users/docmacbook/Downloads/MyProjectFolder
2) Ouvrez le fichier .gitignore et ajoutez les fichiers que vous souhaitez ignorer. Par exemple, mon fichier .gitignore ressemble à ceci:
MyAppName.xcodeproj/xcuserdata
MyAppName.xcworkspace/xcuserdata
Pods
report.xml
3) Validez et Poussez vers GitHub.
Après cela, déplacez votre projet ou créez-en un dans le dossier où se trouve le fichier .gitignore et maintenant les fichiers que vous souhaitez ignorer ne seront pas poussés vers votre GitHub.
Remarque: Ces étapes fonctionneront également pour un projet existant, je ne l'ai pas testé.