我一直在开发我的第一个兼职iPhone应用程序,并希望开始使用比我过去四个月使用的更严格的版本控制形式,即将源代码文件夹复制到另一个目录和时间加盖它们。
我使用过SourceSafe和Team Foundation System,但我不太清楚Macintosh可用的版本控制系统(VCS)。我在SO上看过Subversion前端的广告,但是想要其他一些选项。
以下列出了我的初始要求:
提前感谢您的帮助。
答案 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 here和here
的更多信息答案 3 :(得分:1)
SubVersioN (SVN)满足(大部分)您的要求。
答案 4 :(得分:1)
由于XCode本身支持subversion,因此我也投票支持subversion。我自己一直在使用它并且非常开心。
然而我会质疑您在本地运行服务器的要求。当然,你可以做到没有subversion的问题。但是你不担心你的硬盘失败了吗?
我一直在使用Beanstalk来托管我的源代码。它最多可供3位开发人员免费使用,一旦您成长,您就可以升级您的帐户,速度快且安全。
答案 5 :(得分:0)
答案 6 :(得分:0)
我只是查看了Xcode(3.2,但它可能不完全相同),源代码控制集成的选项是subversion,CVS和perforce。
在Xcode之外,有几个非常好的GUI客户端用于OS X的颠覆。
Subversion似乎是一个很好的起点。
显然,所有酷孩子现在都在使用分布式VCS。你可能想花半小时阅读git或mercurial(hg - 我的偏好)。没有与Xcode直接集成,但它们很容易进入。