Apple在Xcode 5中引入了一种新的与项目相关的文件类型:“xccheckout”。
该文件位于". xcodeproj/project.xcworkspace/xcshare ddata/"目录中,似乎与项目的版本管理系统有关。
这里有一个示例文件:http://pastebin.com/5EP63iRa
我认为这种类型的文件应该在VCS下被忽略,但我不确定。
所以问题如下:
您应该签入Xcode 5. xccheckout
文件;一般来说,应该提交xcshare ddata
中的文件。
. xccheckout
文件包含有关工作区中使用哪些存储库的元数据。对于单个存储库中的单个项目,这没有太大区别。但是如果您使用的工作区具有来自不同存储库的多个项目,工作区中存在.xccheckout
文件可以让Xcode知道组成工作区的所有组件是什么以及从哪里获取它们。
xccheckout文件包含VCS元数据,因此不应签入VCS。
另一方面:签入此文件可能不会造成合并困难或其他问题。
如果您想忽略此文件(我建议),您应该将此行添加到项目的. gitignore
:
*.xccheckout
Abizern的解决方案不适用于工作区内的项目。因为,当您使用工作区时,*. xccheckout
文件的路径将是:
编辑:此文件的存在是为了管理Xcode对项目中可能有许多VCS系统的了解,请参阅Chris Hanson的回答。对于
这取决于。该文件包含对您正在使用的远程存储库的引用。如果您使用的是集中式VCS,例如Perforce或Subversion,则每个人的远程存储库都是相同的,因此您可以并且应该签入该文件。
如果您使用的是分布式VCS,例如Mercurial或git,但使用它就像使用CVCS一样(换句话说,每个人都从共享存储库直接克隆到他们机器上的个人工作区),那么您可能仍然需要签入它。
但是,如果您使用的DVCS每个人都有自己的远程克隆,例如在标准使用模式中使用GitHub,则您不想签入此文件。如果您这样做了,那么您的拉取请求将要求您的存储库设置复制到其他人的xccheckout文件中,但是您的存储库设置将与其他人的不同,因为您都使用不同的远程存储库。