当Git与Xcode一起使用时,我应该在.gitignore中包含哪些文件?


当前回答

我使用以下在gitignore.io中生成的.gitignore文件:

### Xcode ###
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.xcuserstate


### Objective-C ###
# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate

# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
#
Pods/

其他回答

GitHub的人们为Xcode项目提供了详尽的。gitignore文件:

斯威夫特:https://github.com/github/gitignore/blob/master/Swift.gitignore

objective - c: https://github.com/github/gitignore/blob/master/Objective-C.gitignore

gitignore。io:为你的项目创建有用的gitignore文件

Example: Preview | Edit Programming Languages: Objective-C Swift Build Automation Tool: SwiftPackageManager Carthage IDEs: Xcode Operating Systems: macOS Steps to use in Terminal (Refer to the YouTube Video) Create Git global config alias (One time only) git config --global alias.ignore '!gi() { curl -L -s https://www.gitignore.io/api/$@ ;}; gi' Enter the project directory cd <the project directory> Generate .gitignore file git ignore Objective-C,Swift,SwiftPackageManager,Carthage,Xcode,macOS >.gitignore Add and commit .gitignore file git add .gitignore git commit -m "Add .gitignore file"

这将创建最新的gitignore文件

iOS开发

git ignore swift,ios >.gitignore

对于macOS开发

git ignore swift,macos >.gitignore

基于Mercurial的这个指南,我的.gitignore包括:

.DS_Store
*.swp
*~.nib

build/

*.pbxuser
*.perspective
*.perspectivev3

我还选择了包括:

*.mode1v3
*.mode2v3

根据苹果邮件列表,这是“用户特定的项目设置”。

对于Xcode 4:

xcuserdata

我的是一个。bzrignore,但它是相同的想法:)

.DS_Store
*.mode1v3
*.pbxuser
*.perspectivev3
*.tm_build_errors

tm_build_errors用于当我使用TextMate构建我的项目时。它没有Hagelin那么全面,但我认为值得在tm_build_errors行中发布它。