Scott,您可能会考虑使用更全面的 .gitignore 文件。在大多数情况下,git 可以(应该?)忽略 xcuserdata 文件夹。
这是您可以开始的示例 .gitignore 文件,它将排除大多数不需要在存档中的内容,其中一些可能会不时导致奇怪的问题,或者仅占用存档中的空间没有贡献任何价值。此示例包含许多来自 Xcode 及其祖先的较旧的控制文件,直到有一天您从根深蒂固的项目中导入类、库或框架时,您可能认为您不会遇到这些文件。
几年前,我把它放在一起并在博客上分享(A better sample .gitignore for Xcode iOS and OSX projects),基于这样的理念,“如果它是任何类型的临时文件,如果它通常不应该在存档中(例如 Sparkle 私钥),或者如果根本不需要它(例如各种中间构建产品),则将其排除在外”。
如果你不喜欢这个,就环顾四周,找到一个你喜欢的。现在,整个网络都有它的衍生物(包括一个很酷的实现为 Xcode 脚本,可以在您喜欢的任何目录中创建文件),以及其他具有不同(极简主义)哲学方法的衍生物,还有一些具有更详细的评论.
您可以将 .gitignore 文件放在任何 git 存档的顶层并签入,以强制所有团队成员忽略。您也可以将它作为自己的全局忽略文件放在系统上,以防您创建项目并忘记在初始提交之前添加忽略文件。
链接:如何制作一个全局 .gitignore 文件
Xcode iOS 和 OSX 的示例 .gitignore 文件
# Mac OS X Finder and whatnot
.DS_Store
.Trashes
# Sparkle distribution Private Key
dsa_priv.pem
# Xcode (and ancestors) per-user config
*.mode1
*.mode1v3
*.mode2v3
*.perspective
*.perspectivev3
*.pbxuser
# Whitelist the Xcode defaults
!default.mode1
!default.mode1v3
!default.mode2v3
!default.perspective
!default.perspectivev3
!default.pbxuser
# Xcode 4 - Deprecated classes
*.moved-aside
# Generated files
VersionX-revision.h
# build products
xcuserdata/
DerivedData/
build/
*.[oa]
# Other source repository archive directories
.hg
.svn
CVS
# automatic backup files
*~.nib
*.swp
*.lock
*~
*(Autosaved).rtfd/
Backup[ ]of[ ]*.pages/
Backup[ ]of[ ]*.key/
Backup[ ]of[ ]*.numbers/