Que devrait inclure le fichier Xcode 6 gitignore?

225

Que devrait normalement .gitignoreinclure Xcode 6?

Pour plus d'informations sur l' xccheckoutintroduction de Xcode 5, voir ici

Octet épique
la source
51
Ce n'est pas une question "principalement basée sur l'opinion". Il y a des fichiers que git devrait toujours ignorer dans XCode, des fichiers programmes tels que xcuserdata. Le choix de les exclure n'est en aucun cas basé sur une opinion.
Dermot
4
J'appuie Dermot sur celui-là! Ne pas ignorer certains fichiers provoque des erreurs, il existe donc une meilleure pratique définitive. La moitié des exemples de code partagés dans les réponses SO pourraient être considérés comme des opinions car il existe d'autres façons de faire, mais il existe généralement des meilleures pratiques et des normes de facto généralement acceptées.
rage
2
Peut-être fermé en partie parce qu'il y a une réponse détaillée ici: stackoverflow.com/questions/49478/… . Dans mes recherches, vous avez tort de dire que .xccheckout devrait être ignoré - mais ce n'est pas clair à 100%, et j'ai enregistré un bogue avec Apple demandant une réponse officielle.
Adam

Réponses:

276

1)

La réponse la plus simple est que la mienne ressemble à ceci:

# Xcode
.DS_Store
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
*.xcworkspace
!default.xcworkspace
xcuserdata
profile
*.moved-aside
DerivedData
.idea/
# Pods - for those of you who use CocoaPods
Pods

qui, je crois, est le même .gitignore que GitHub met en place avec tous leurs référentiels par défaut.

2)

Une autre réponse est qu'il existe un site Web appelé "gitignore.io" , qui génère les fichiers basés sur les modèles .gitignore à partir de https://github.com/github/gitignore .

Michael Dautermann
la source
10
n'oubliez pas de supprimer xcworkspace dans le cas où vous utilisez des cabosses de cacao si vous intégrez des hooks post commit avec par exemple travis
Ivor Prebeg
3
J'ai recherché tous les fichiers - cf stackoverflow.com/questions/49478/… - les différents contributeurs non vérifiés au projet github ne l'ont clairement pas fait (je vois à plusieurs reprises des choses qui devraient être là mais qui manquent, et (pire) vice-versa ). Évidemment, je ne vais pas m'embêter à suivre / commenter quelque chose qui est clairement mal entretenu pour commencer :) - J'ai simplement abandonné, et j'ai écrit un .gitignore de travail à la place, et je l'ai partagé sur StackOverflow
Adam
2
Cocoapods suggère de réfléchir à deux fois avant d'ignorer Pods: guides.cocoapods.org/using/… ?
ericsoco
3
Pour ce que ça vaut, j'ai passé un certain temps à rechercher différents fichiers Xcode & Cocoapods .gitignore et celui-ci semble fonctionner le mieux pour moi. Le dossier Pods est à juste titre ignoré, car il s'agit d'un état final généré. En outre, le fichier Podfile.lock est inclus, qui fournit des métadonnées précieuses sur l'état d'une génération lors de diverses validations.
Matt Vukas
4
.idea/est seulement nécessaire qui utiliseAppCode
Wanbok Choi
57

Si vous créez un nouveau projet à partir de zéro dans Xcode 6 ... il n'est plus nécessaire d'avoir un long fichier .gitignore, comme je l'ai souligné dans mon dernier article : Apple a optimisé la structure de fichier et de dossier de projet standard pour répondre aux exigences de git clair et direct s'engage. Apple ignore également deux modèles de fichier par défaut si vous créez le référentiel git avec un modèle de projet Xcode:

.DS_Store
UserInterfaceState.xcuserstate

Ils les ont ajoutés à votre .git/info/excludesfichier dans le répertoire de votre projet. Donc pas besoin de les ignorer à nouveau en .gitignore :-)

La seule chose que j'inclus toujours dans un .gitignorefichier est le

# Exclude personal Xcode user settings
xcuserdata/ 
crosscode
la source
2
Pourriez-vous mettre la troisième ligne dans la partie supérieure, donc je n'ai pas besoin de copier deux fois chaque fois que j'arrive à cette réponse, s'il vous plaît? J'espère qu'il recevra 133 votes positifs aussi!
Dan Rosenstark
3
@Yar ... comme je l'ai décrit ci-dessus: la seule ligne dont vous avez besoin dans votre fichier .gitignore est l'exclusion de xcuserdata /. Les deux autres lignes sont déjà gérées par Apple par défaut. Donc pas besoin de copier ces trois lignes dans votre fichier .gitignore.
crosscode
1
Oh! Sensationnel. C'est en fait quelque chose que je peux taper à la main. Grand truc, merci pour le partage et bonne chance ici sur SO.
Dan Rosenstark
6

Reportez-vous au fichier Xcode.gitignore de Github pour toujours avoir une liste mise à jour des fichiers Xcode à ignorer.

pourquoice blanc
la source