Xcode 6 gitignore文件应包括什么?


225

.gitignoreXcode 6 通常应包括哪些内容?

有关xccheckoutXcode 5中引入的信息,请参见此处


51
这不是一个“主要基于意见的”问题。在XCode中,有些文件应始终忽略git,例如xcuserdata之类的程序文件。排除这些因素的选择绝不是基于观点的。
Dermot

4
我第二把Dermot放在那上面!不忽略某些文件会导致错误,因此有一个确定的最佳实践。在SO答案中共享的一半代码示例与其他处理方式一样,可以平等地视为观点,但是普遍存在最佳实践和事实上的标准。
愤怒

2
可能部分关闭是因为这里有一个广泛的答案:stackoverflow.com/questions/49478/…。在我的研究中,您不正确地说.xccheckout应该被忽略-但这不是100%清楚的,而且我已经与Apple记录了一个错误,要求提供正式答案。
亚当

Answers:


276

1)

最简单的答案是我的看起来像这样:

# 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

我相信这与GitHub默认使用其所有存储库设置的.gitignore相同。

2)

另一个答案是,有一个名为“ gitignore.io”网站,该网站基于https://github.com/github/gitignore的.gitignore模板生成文件。


10
如果将后提交钩子与travis集成在一起,请不要忘记删除xcworkspace,以防您使用可可豆荚
Ivor Prebeg 2013年

3
我研究的所有文件- CF stackoverflow.com/questions/49478/... -不同,未经审查贡献者GitHub的项目显然没有(我曾多次看到的东西,应该在那里,但失踪,和(差),反之亦然)。显然,我不会去跟踪/评论那些显然很难维护的内容:)-我只是放弃了,而是写了一个有效的.gitignore,并在StackOverflow上分享了它
亚当

2
Cocoapods建议对忽略问题进行三思Podsguides.cocoapods.org/using/…
ericsoco 2014年

3
对于它的价值,我花了一段时间研究了不同的Xcode和Cocoapods .gitignore文件,而这个文件似乎对我来说是最好的。由于Pods文件夹是已生成的最终状态,因此会被正确忽略。此外,还包含Podfile.lock文件,该文件提供了有关各种提交期间构建状态的有价值的元数据。
马特·沃卡斯

4
.idea/只需要使用的人AppCode
崔万福2015年

57

如果您要在Xcode 6中从头开始创建新项目,则...不再需要长的.gitignore文件,正如我在上一篇文章中指出的那样:Apple优化了标准项目文件和文件夹结构,以符合以下要求:清晰直接的git commits。如果您使用Xcode项目模板创建git存储库,则默认情况下,Apple也会忽略两个文件模式:

.DS_Store
UserInterfaceState.xcuserstate

他们将它们添加到.git/info/excludes项目目录中的文件中。因此,无需在.gitignore中重新忽略它们:-)

我始终包含在.gitignore文件中的唯一内容是

# Exclude personal Xcode user settings
xcuserdata/ 

2
您介意将第三行放在第一行吗,所以我每次来这个答案时都不必重复两次吗?我希望它也能获得133次投票!
Dan Rosenstark 2015年

3
@Yar ...如上所述:您的.gitignore文件中唯一需要的行是xcuserdata /的排除。默认情况下,其他两行已由Apple处理。因此,无需将这三行复制到您的.gitignore文件中。
交叉编码

1
哦! 哇。我实际上可以手动输入。很棒的东西,谢谢大家的分享和祝您好运。
Dan Rosenstark 2015年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.