我一直在兼职开发我的第一个 iPhone 应用程序,并希望开始使用比过去四个月使用的更严格的版本控制形式,即将源代码文件夹复制到另一个目录和时间盖印它们。
我使用过 SourceSafe 和 Team Foundation System,但不太清楚哪些版本控制系统 (VCS) 可用于 Macintosh。我在 SO 上看到过 Subversion 前端的广告,但想要一些其他选项。
这是我的初始要求列表:
- 在 OS X Leopard 10.5.7 下本地运行
- 与 XCode 3.1.3 集成(如果没有集成,则界面友好)
- 基本 VCS 功能 - checkin 评论、分支、固定
- 构建自动化或报告等高级 VCS 功能会很好,但目前并不重要
- 能够在未来(6-12 个月)处理多个开发人员的问题
预先感谢您的帮助。
最佳答案
Mercurial如果您不想设置专用服务器,那么我会选择对作为单独项目启动的项目进行版本控制。 Mercurial 不需要服务器,因为它是一个分布式 VCS,每个工作副本也是一个完整的存储库,因此一旦安装了 Mercurial,您就可以开始使用了,只需在项目的根目录中输入“hg init”即可。 .
它非常适合单独工作或与少量开发人员一起工作(即没有 IT 人员或系统管理员可用),它有一个实用程序,可让您快速为本地存储库设置临时服务器,因此当您与其他人会面时,它他们可以轻松克隆存储库或共享更改。您还可以通过电子邮件或 USB key 向人们提供存储库的副本,或者通过网络或其他方式复制它们,并稍后协调对副本的更改。
对我来说,Mercurial 的作用是在个人项目中实际使用 VCS 和因为太麻烦而放弃之间的区别。在本地设置 Subversion 服务器并不是一件大事,但它仍然足够麻烦,让我不费心,如果你真的想彻底,你会想考虑如何进行适当的备份等。使用 Mercurial 可以随时使用点您只需将工作副本备份到其他媒体即可获得备份。我不知道这是否真的有意义,但 Mercurial 是一种 VCS,由于其分布式特性,您可以随意、非正式地使用它。
没有 Xcode 集成,但是在使用了各种带或不带集成的 VCS 之后,我认为只要有好的客户端可用,这就不那么重要了。这些天我主要决定只使用命令行,它令人耳目一新。
在我看来,Perforce 已经出局了。除了是一种商业产品之外,它还令人难以置信。它要求您始终连接到服务器,否则事情就会变得非常痛苦。因此,如果您只想在多个位置的多台机器上处理内容,或者您希望项目中的人员不会一直处于同一网络上,那就很糟糕了。 Perforce 不断地让您头疼,因为您正在使用 Perforce,我使用过的任何其他 VCS 都没有如此让您感到厌烦。
Git是另一个与 Mercurial 具有类似功能集的选项,可能值得一看。就我而言,我也做 Windows 的东西,而 Git 的 Windows 支持据说很糟糕,所以我选择了适用于我所有平台的东西。
构建自动化 IMO 是构建服务器的工作,而不是 VCS 的工作,因此如果您想要构建自动化,请找到合适的构建服务器。
关于iphone - 我应该使用什么 OSX/XCode 版本控制系统来进行 iPhone 开发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1378399/