我是XCode的新手,我发现文件管理非常痛苦。在大多数IDE中,您只需让项目源树引用磁盘上的目录结构即可。这样可以轻松地将新文件添加到项目中 - 您只需将它们放在磁盘上,它们就会自动编译。
使用XCode,似乎我必须创建文件并单独将其添加到项目中(或者被迫通过UI操作文件系统)。但这意味着通过源代码控制共享.xcodeproj充满了问题 - 通常,我们会在xcodeproj文件上出现合并冲突 - 当我们不这样做时,我们经常会遇到链接器错误,因为在合并期间会出现一些文件在项目中列出的被删除。所以我必须将它们重新添加到项目文件中,直到我可以编译它,然后重新检查项目文件。
我确信我必须在这里遗漏一些东西。我尝试使用'参考文件夹',但其中的代码似乎没有被编译。在为项目添加或删除文件时,构建一个强制每个人修改单个共享文件的IDE似乎很疯狂。
答案 0 :(得分:5)
尽管有其他答案,但这绝对不同于其他IDE,也是一个重大的麻烦。我知道没有好的解决方案。
我经常使用的一个技巧是让它更具可忍性 - 特别是对于包含大量文件的资源目录 - 是:
这会破坏文件的任何手动重新排序,但它至少会同步O(1)操作,而不是更改文件数量的O(n)。
答案 1 :(得分:2)
我很感兴趣你正在使用哪些IDE自动编译目录中的所有内容,因为我从未使用过IDE(至少对于C ++而言)。我认为拥有一个包含所有文件列表的项目文件是非常标准的。通常,您可能只想为不同的目标包含某些文件,具有每个文件的编译器设置等。
无论如何,鉴于它 的工作原理,你真的不应该有太多合并冲突的问题。最好的建议是提前和经常提交,这样你就不会与其他人的变化失去联系。仅仅将文件添加到项目中不应该导致冲突,除非它们碰巧被添加到项目树中的完全相同的点。我们多年来一直在我们的团队中使用Xcode,我们很少遇到冲突:只有有人重组了项目。
幸运的是,因为Xcode文件格式是文本,所以当它们发生时通常很容易解决冲突,不像Codewarrior的Bad Old Days和它的二进制格式。