当Git与Xcode一起使用时,我应该在.gitignore中包含哪些文件?
当前回答
大多数答案都来自Xcode 4-5时代。我建议使用现代风格的ignore文件。
# Xcode Project
**/*.xcodeproj/xcuserdata/
**/*.xcworkspace/xcuserdata/
**/.swiftpm/xcode/xcuserdata/
**/*.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
**/*.xcworkspace/xcshareddata/*.xccheckout
**/*.xcworkspace/xcshareddata/*.xcscmblueprint
**/*.playground/**/timeline.xctimeline
.idea/
# Build
Scripts/build/
build/
DerivedData/
*.ipa
# Carthage
Carthage/
# CocoaPods
Pods/
# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/sign&cert
# CSV
*.orig
.svn
# Other
*~
.DS_Store
*.swp
*.save
._*
*.bak
请从https://github.com/BB9z/iOS-Project-Template/blob/master/.gitignore更新
其他回答
我建议使用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
关于“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
Xcode项目>的标准。gitignore文件的结构
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
Icon?
ehthumbs.db
Thumbs.db
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
!default.xcworkspace
xcuserdata
profile
*.moved-aside
DerivedData
.idea/
我们确实发现,即使你添加。gitignore和。gittribte *。Pbxproj文件可能被损坏。所以我们有一个简单的计划。
在办公室编码的每个人都简单地丢弃了对这个文件所做的更改。在提交中,我们简单地提到了添加到源代码中的文件。然后推送到服务器。我们的集成管理器会查看提交细节,并将文件添加到资源中。
一旦他更新了远程,每个人都会有一个工作副本。如果少了什么,我们会通知他把它加进去,然后再拉一次。
这对我们来说没有任何问题。
我补充说:
xcuserstate
xcsettings
并将我的.gitignore文件放在项目的根目录下。
在承诺和推动之后。然后我跑了起来:
git rm --cached UserInterfaceState.xcuserstate WorkspaceSettings.xcsettings
埋藏在下面的文件夹:
<my_project_name>/<my_project_name>.xcodeproj/project.xcworkspace/xcuserdata/<my_user_name>.xcuserdatad/
然后我再次运行git commit和push
推荐文章
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- Ios模拟器:如何关闭应用程序
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- 准备好开发人员ID的macOS安装程序包
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 创建配置文件失败
- “你有邮件”的消息在终端,os X
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?