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


当前回答

对于Xcode 5,我添加:

####
# Xcode 5 - VCS metadata
#
*.xccheckout

选自Berik的答案

其他回答

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

.DS_Store
*.swp
*~.nib

build/

*.pbxuser
*.perspective
*.perspectivev3

我还选择了包括:

*.mode1v3
*.mode2v3

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

对于Xcode 4:

xcuserdata

我建议使用joe生成一个.gitignore文件。

对于iOS项目,执行如下命令:

$ Joe g osx,xcode > .gitignore

它会生成。gitignore:

.DS_Store
.AppleDouble
.LSOverride

Icon
._*

.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns

.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

build/
DerivedData

*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata

*.xccheckout
*.moved-aside
*.xcuserstate

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

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

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

以下是GitHub默认用于新Xcode存储库的.gitignore:

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

它可能在任何给定的时间都是合理正确的。

关于“build”目录排除-

如果您将构建文件放在与源文件不同的目录中,就像我所做的那样,您不必担心树中的文件夹。

这也使得共享代码变得更加简单,防止臃肿的备份,甚至当你依赖于其他Xcode项目时(同时要求构建彼此位于相同的目录中)。

你可以从Github gist https://gist.github.com/708713获取最新的拷贝

我当前的。gitignore文件是

# 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