版本控制下的xcodeproj

时间:2011-01-13 18:07:38

标签: xcode version-control

在版本控制下包含Xcode项目时的最佳做法是什么。

3 个答案:

答案 0 :(得分:44)

这是我的Global .gitignore文件中的内容,您可以在GitHub上看到gist,但Xcode列表可以应用于其他系统

# 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
\#*#
.#*

答案 1 :(得分:8)

签入project.pbxproj,忽略用户特定文件。

使用子模块/外部/ VCS支持的任何内容包括共享组件和第三方库作为项目依赖项,而不是手动复制没有任何历史记录的静态库二进制文件。

您将在project.pbxproj中遇到合并冲突,准备好处理此问题并尽量减少解决它们的难度。

  • 具有一致的结构,以确定磁盘上的文件位置以及映射到Xcode中的组的方式。
  • 对构建目标中包含的资源以及项目组中资源的顺序进行排序。我真的需要编写一个脚本来为我执行此操作,因为当您不必区分两个随机文件集时,更容易识别合并冲突的原因。它还避免了许多合并冲突,因为您不太可能让多个开发人员将新资源附加到列表的底部。

提早入住。

答案 2 :(得分:2)

在我的项目中,我在版本控制中Project.xcodeproj/project.pbxproj,并遗漏了User.mode1v3User.pbxuser个文件。

project.pbxproj似乎保存了项目的元数据,例如文件所在的位置以及构建设置。

用户文件会包含打开的文件,光标所在的位置等等。

您还可以参考THIS问题,了解一些人选择忽略的文件。