github/gitignore · Swift.gitignore

Modèle .gitignore Swift expliqué

Explique pourquoi Swift.gitignore ignore xcuserdata, les fichiers de packaging d'application, le .build de Swift Package Manager, les builds Carthage et les artefacts fastlane, et donne des critères de décision pour CocoaPods et Package.resolved.

Ouvrir dans le générateur Ouvrir avec macOS, Xcode, Objective-C

Swift.gitignore cible les projets qui créent des applications iOS·macOS avec Xcode ou développent des paquets avec Swift Package Manager. Il traite l'état par utilisateur et les fichiers de distribution de Xcode, les résultats de build des gestionnaires de dépendances (SwiftPM, Carthage, CocoaPods) et les rapports fastlane.

Le modèle contient de nombreuses règles optionnelles en commentaire. Les éléments dont le commit dépend de la politique de l'équipe, comme Pods/, Packages/, Package.resolved ou *.xcworkspace, ne sont pas ignorés par défaut : la décision vous revient.

Explication règle par règle

MotifCe qui est ignoré et pourquoi
xcuserdata/État Xcode par utilisateurLes réglages propres à chaque développeur — choix du schéma, points d'arrêt, disposition des fenêtres — sont enregistrés dans xcuserdata à l'intérieur de .xcodeproj et .xcworkspace. Les partager conduit chacun à écraser sans cesse les réglages des autres.
*.hmapCartes d'en-têtesFichiers de recherche d'en-têtes créés par Xcode pendant le build.
*.ipa*.dSYM.zip*.dSYMPackaging d'applicationArchives d'application de distribution et fichiers de symboles pour l'analyse des crashs. Ils sont recréés à chaque build et volumineux. Les dSYM se conservent en les envoyant à un service de rapports de crash.
timeline.xctimelineplayground.xcworkspacePlaygroundChronologies et espace de travail interne créés par Swift Playground à l'exécution.
.build/Swift Package ManagerDossier où swift build place les checkouts de dépendances et les résultats de compilation. Il peut être recréé à tout moment.
Carthage/Build/CarthageFrameworks compilés par Carthage. Les checkouts de sources (Carthage/Checkouts) ne figurent qu'en commentaire, pour laisser le choix.
fastlane/report.xmlfastlane/Preview.htmlfastlane/screenshots/**/*.pngfastlane/test_outputfastlaneRapports d'exécution et captures d'écran de fastlane. Comme l'indiquent les commentaires du modèle, il est recommandé de régénérer les captures d'écran quand on en a besoin.

Points d'attention en pratique

Modèle d'origine

Swift.gitignore13 règles
# Xcode## gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore## User settingsxcuserdata/## Obj-C/Swift specific*.hmap## App packaging*.ipa*.dSYM.zip*.dSYM## Playgroundstimeline.xctimelineplayground.xcworkspace# Swift Package Manager## Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.# Packages/# Package.pins# Package.resolved# *.xcodeproj## Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata# hence it is not needed unless you have added a package configuration file to your project# .swiftpm.build/# CocoaPods## We recommend against adding the Pods directory to your .gitignore. However# you should judge for yourself, the pros and cons are mentioned at:# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control## Pods/## Add this line if you want to avoid checking in source code from the Xcode workspace# *.xcworkspace# Carthage## Add this line if you want to avoid checking in source code from Carthage dependencies.# Carthage/CheckoutsCarthage/Build/# fastlane## It is recommended to not store the screenshots in the git repo.# Instead, use fastlane to re-generate the screenshots whenever they are needed.# For more information about the recommended setup visit:# https://docs.fastlane.tools/best-practices/source-control/#source-controlfastlane/report.xmlfastlane/Preview.htmlfastlane/screenshots/**/*.pngfastlane/test_output

Source des modèles : github/gitignore/Swift.gitignore @356fd7b (2026-09-11) · CC0-1.0

Modèles utilisés ensemble

Autres modèles expliqués