Quels fichiers dois-je inclure dans .gitignore
lors de l'utilisation de Git en conjonction avec Xcode?
Réponses
Trop de publicités?Mods: Merci de ne pas approuver les modifications à la présente réponse. Jusqu'à présent, chaque édition a été INCORRECT et provoque la PERTE de DONNÉES. Merci de laisser cette réponse tout seul!
Si vous souhaitez modifier cette réponse ... ne le fais pas. Lire le tout premier il y a un moyen facile pour vous de faire votre propre de la fourche, et si cela ne suffit pas de le commenter.
J'étais auparavant à l'aide de haut-voté réponse, mais il faut un peu de nettoyage, donc, ici, il est re-fait pour Xcode 4, avec quelques améliorations.
J'ai recherché tous les fichiers dans cette liste, mais plusieurs d'entre eux n'existent pas dans Apple officiel de xcode docs, donc j'ai dû aller sur Apple listes de diffusion.
Apple continue d'ajouter des sans-papiers, fichiers, potentiellement corrompre nos projets en direct. Ce à mon humble avis est inacceptable, et j'ai commencé la journalisation des bugs contre elle chaque fois qu'ils le font. Je sais qu'ils ne se soucient pas, mais peut-être que ça va la honte l'un d'eux dans le traitement des développeurs de manière plus équitable.
Si vous avez besoin de personnaliser, voici un résumé vous pouvez fourche: https://gist.github.com/3786883
#########################
# .gitignore file for Xcode4 and Xcode5 Source projects
#
# Apple bugs, waiting for Apple to fix/respond:
#
# 15564624 - what does the xccheckout file in Xcode5 do? Where's the documentation?
#
# Version 2.1
# For latest version, see: http://stackoverflow.com/questions/49478/git-ignore-file-for-xcode-projects
#
# 2013 updates:
# - fixed the broken "save personal Schemes"
# - added line-by-line explanations for EVERYTHING (some were missing)
#
# NB: if you are storing "built" products, this WILL NOT WORK,
# and you should use a different .gitignore (or none at all)
# This file is for SOURCE projects, where there are many extra
# files that we want to exclude
#
#########################
#####
# OS X temporary files that should never be committed
#
# c.f. http://www.westwind.com/reference/os-x/invisibles.html
.DS_Store
# c.f. http://www.westwind.com/reference/os-x/invisibles.html
.Trashes
# c.f. http://www.westwind.com/reference/os-x/invisibles.html
*.swp
# *.lock - this is used and abused by many editors for many different things.
# For the main ones I use (e.g. Eclipse), it should be excluded
# from source-control, but YMMV
*.lock
#
# profile - REMOVED temporarily (on double-checking, this seems incorrect; I can't find it in OS X docs?)
#profile
####
# Xcode temporary files that should never be committed
#
# NB: NIB/XIB files still exist even on Storyboard projects, so we want this...
*~.nib
####
# Xcode build files -
#
# NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "DerivedData"
DerivedData/
# NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "build"
build/
#####
# Xcode private settings (window sizes, bookmarks, breakpoints, custom executables, smart groups)
#
# This is complicated:
#
# SOMETIMES you need to put this file in version control.
# Apple designed it poorly - if you use "custom executables", they are
# saved in this file.
# 99% of projects do NOT use those, so they do NOT want to version control this file.
# ..but if you're in the 1%, comment out the line "*.pbxuser"
# .pbxuser: http://lists.apple.com/archives/xcode-users/2004/Jan/msg00193.html
*.pbxuser
# .mode1v3: http://lists.apple.com/archives/xcode-users/2007/Oct/msg00465.html
*.mode1v3
# .mode2v3: http://lists.apple.com/archives/xcode-users/2007/Oct/msg00465.html
*.mode2v3
# .perspectivev3: http://stackoverflow.com/questions/5223297/xcode-projects-what-is-a-perspectivev3-file
*.perspectivev3
# NB: also, whitelist the default ones, some projects need to use these
!default.pbxuser
!default.mode1v3
!default.mode2v3
!default.perspectivev3
####
# Xcode 4 - semi-personal settings
#
#
# OPTION 1: ---------------------------------
# throw away ALL personal settings (including custom schemes!
# - unless they are "shared")
#
# NB: this is exclusive with OPTION 2 below
xcuserdata
# OPTION 2: ---------------------------------
# get rid of ALL personal settings, but KEEP SOME OF THEM
# - NB: you must manually uncomment the bits you want to keep
#
# NB: this *requires* git v1.8.2 or above; you may need to upgrade to latest OS X,
# or manually install git over the top of the OS X version
# NB: this is exclusive with OPTION 1 above
#
#xcuserdata/**/*
# (requires option 2 above): Personal Schemes
#
#!xcuserdata/**/xcschemes/*
####
# XCode 4 workspaces - more detailed
#
# Workspaces are important! They are a core feature of Xcode - don't exclude them :)
#
# Workspace layout is quite spammy. For reference:
#
# /(root)/
# /(project-name).xcodeproj/
# project.pbxproj
# /project.xcworkspace/
# contents.xcworkspacedata
# /xcuserdata/
# /(your name)/xcuserdatad/
# UserInterfaceState.xcuserstate
# /xcsshareddata/
# /xcschemes/
# (shared scheme name).xcscheme
# /xcuserdata/
# /(your name)/xcuserdatad/
# (private scheme).xcscheme
# xcschememanagement.plist
#
#
####
# Xcode 4 - Deprecated classes
#
# Allegedly, if you manually "deprecate" your classes, they get moved here.
#
# We're using source-control, so this is a "feature" that we do not want!
*.moved-aside
####
# Xcode 5 - VCS file
# The data in this file not represent state of your project.
# If you'll leave this file in git - you will have merge conflicts during
# pull your cahnges to other's repo
#
*.xccheckout
####
# UNKNOWN: recommended by others, but I can't discover what these files are
#
# ...none. Everything is now explained.
Basé sur ce guide pour Mercurial ma .gitignore comprend:
.DS_Store
*.swp
*~.nib
build/
*.pbxuser
*.perspective
*.perspectivev3
J'ai également choisi d'inclure:
*.mode1v3
*.mode2v3
qui, selon Apple cette liste de diffusion de poste, sont "spécifiques de l'utilisateur, les paramètres de projet".
Et pour Xcode 4:
xcuserdata
Quant à la "construction" du répertoire de l'exclusion -
Si vous placez vos fichiers dans un autre répertoire de votre source, comme je le fais, vous n'avez pas le dossier dans l'arborescence de s'inquiéter.
Cela rend aussi la vie plus simple pour le partage de votre code, la prévention de ballonnement sauvegardes, et même lorsque vous avez des dépendances à d'autres projets Xcode (alors que nécessitent les versions à être dans le même répertoire que l'autre)
Vous pouvez récupérer une copie à jour de l'Github gist https://gist.github.com/708713
Mon actuel .gitignore fichier est
# Mac OS X
*.DS_Store
# Xcode
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
*.xcuserstate
project.xcworkspace/
xcuserdata/
# Generated files
*.o
*.pyc
#Python modules
MANIFEST
dist/
build/
# Backup files
*~.nib
J'ai inclus ces suggestions dans un Résumé que j'ai créé sur Github: http://gist.github.com/137348
Hésitez pas à fourche et à la faire mieux.