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

标签 iphone xcode macos version-control

我一直在兼职开发我的第一个 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/

相关文章:

iphone - 检测 wifi 热点 iOS

swift - viewWillEnterForeground问题

ios - 仅在 swift 2 中左右拖动对象

macos - 在 OSX 上规范化 bash 中的任意文件路径

python - 如何在 Mac (Yosemite) 上找到我的 python/django 源代码

iphone - 当选择器 View 停止滚动时如何获取事件

iphone - 如何选择UIScreen的显示方式覆盖整个电视屏幕?

iphone - 在 MapView 上点击注释时隐藏弹出窗口

ios - 在 Xcode 中设置最低 iOS 版本

c++ - Mac OS x 给出 ld : symbol(s) not found for architecture x86_64