我应该使用什么OSX / XCode版本控制系统进行iPhone开发?

时间:2009-09-04 10:22:08

标签: iphone xcode macos version-control

我一直在开发我的第一个兼职iPhone应用程序,并希望开始使用比我过去四个月使用的更严格的版本控制形式,即将源代码文件夹复制到另一个目录和时间加盖它们。

我使用过SourceSafe和Team Foundation System,但我不太清楚Macintosh可用的版本控制系统(VCS)。我在SO上看过Subversion前端的广告,但是想要其他一些选项。

以下列出了我的初始要求:

  • 在OS X Leopard 10.5.7
  • 下本地运行
  • 与XCode 3.1.3集成(如果没有集成,用户友好的界面)
  • 基本VCS功能 - 签到注释,分支,固定
  • 高级VCS功能,例如构建自动化或报告,此时不错,但目前并不重要
  • 能够处理多个开发人员(6-12个月)

提前感谢您的帮助。

7 个答案:

答案 0 :(得分:21)

如果您不想设置专用服务器,

Mercurial将成为我作为个人项目开始的项目的版本控制选择。 Mercurial不需要服务器,因为它是一个分布式VCS,每个工作副本也是一个完整的存储库,所以一旦你安装了Mercurial就可以了,只需在项目的根目录中输入'hg init'就可以了

它非常适合单独工作或与少数开发人员(即没有IT人员或系统管理员可用)一起工作,它有一个实用程序,可以让您快速为本地存储库设置临时服务器,这样当您遇到人员时他们很容易克隆存储库或共享更改。您也可以通过电子邮件或USB密钥为人们提供存储库的副本,或者通过网络或其他方式复制它们,并在以后协调对副本的更改。

对我来说,Mercurial在实际使用VCS进行个人项目和放弃之间存在差异,因为它太麻烦了。在本地设置Subversion服务器并不是什么大不了的事,但它仍然足够麻烦让我不烦,如果你真的想要彻底,你想要考虑如何进行适当的备份,等等。使用Mercurial在任何地方您可以将工作副本备份到其他媒体,然后进行备份。我不知道这是否真的有意义,但Mercurial是一个VCS,你可以随意和非正式地使用,这要归功于分布式的性质。

没有Xcode集成,但在使用和不使用集成的情况下使用了各种VCS我认为只要有良好的客户端,这一点并不重要。这些天我基本上只是选择了命令行,而且很新鲜。

Perforce,IMO,马上就出局了。除了作为商业产品之外,它还令人讨厌。它要求您始终连接到服务器,否则事情会成为屁股的主要痛苦。因此,如果您只想处理来自多个位置的多台计算机的内容,或者如果您希望项目中的人员不会一直处于同一网络上,那么它就会很糟糕。 Perforce只是不断地击败你,因为你使用的是Perforce,我所使用的其他VCS都不是那么令人讨厌。

Git是另一个选项,具有与Mercurial相似的功能,可能值得一看。在我的情况下,我也做Windows的东西,Git的Windows支持应该是垃圾,所以我选择了适合我所有平台的东西。

构建自动化IMO是构建服务器的工作,而不是VCS的工作,因此如果您希望构建自动化找到合适的构建服务器。

答案 1 :(得分:10)

SVN或Subversion包含在Xcode中,并与之良好集成。随着您的需求增长,您可以使用第三方Subversion服务器并通过网络使用相同的SVN支持。如果您不喜欢SVN,我认为XCode也支持CVS。

如果你正在寻找足够,便宜和可扩展的东西,那么只需转到XCode的SCM菜单,然后查看已存在的内容。如果您需要设置SVN的帮助,请发表评论。

答案 2 :(得分:2)

IT看起来像颠覆将是您对XCode的最佳选择,因为已经有一些指导方针可以使用XCode here来启动和运行。 Subversion解决了您所说的所有功能。具体固定是Source Safe的一项功能;但是颠覆可以做标记。构建自动化不是源控制系统的功能,但源控制系统通常用于持续集成服务器方案。我没有使用它,但据我所知,Hudson是一个持续集成的服务器,它越来越受欢迎和momemtum。您可以找到有关Hudson herehere

的更多信息

答案 3 :(得分:1)

SubVersioN (SVN)满足(大部分)您的要求。

答案 4 :(得分:1)

由于XCode本身支持subversion,因此我也投票支持subversion。我自己一直在使用它并且非常开心。

然而我会质疑您在本地运行服务器的要求。当然,你可以做到没有subversion的问题。但是你不担心你的硬盘失败了吗?

我一直在使用Beanstalk来托管我的源代码。它最多可供3位开发人员免费使用,一旦您成长,您就可以升级您的帐户,速度快且安全。

答案 5 :(得分:0)

Perforce现在free最多可以容纳20个用户,但之后会很贵。但是,您可能想要查看它。虽然有scriptsplugin,但Xcode不再支持本机Perforce集成。

答案 6 :(得分:0)

我只是查看了Xcode(3.2,但它可能不完全相同),源代码控制集成的选项是subversion,CVS和perforce。

在Xcode之外,有几个非常好的GUI客户端用于OS X的颠覆。

Subversion似乎是一个很好的起点。

显然,所有酷孩子现在都在使用分布式VCS。你可能想花半小时阅读git或mercurial(hg - 我的偏好)。没有与Xcode直接集成,但它们很容易进入。