我应该使用什么OSX / XCode版本控制系统进行iPhone开发? [英] What OSX/XCode version control system should I use for iPhone development?

查看:125
本文介绍了我应该使用什么OSX / XCode版本控制系统进行iPhone开发?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I've been developing my first iPhone app part-time and would like to start using a more rigorous form of version control than I've been using over the past four months, i.e. copying source code folders to another directory and time stamping them.

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

I've used SourceSafe and Team Foundation System but I don't have a good idea of what version control systems (VCS) are available for the Macintosh. I've seen ads on SO for a Subversion front end but would like some other options.

这是我的初始要求列表:

Here's a list of my initial requirements:


  • 在OS X Leopard 10.5.7下本地运行

  • 与XCode 3.1.3集成(如果没有集成,用户友好的界面)

  • 基本VCS功能 - 签到注释,分支,固定

  • 高级VCS功能(如构建自动化或报告)会很好但不是关键时间

  • 能够处理多个开发人员(6-12个月)

  • Runs locally under OS X Leopard 10.5.7
  • Integrates with XCode 3.1.3 (if no integration, user-friendly interface)
  • Basic VCS features - check-in comments, branching, pinning
  • Advanced VCS features like build automation or reports would be nice but not critical at this time
  • Ability to handle multiple developers down the road (6-12 months)

谢谢提前帮助。

推荐答案

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

Mercurial would be my pick for version control for a project starting as a solo project if you don't want to set up a dedicated server. Mercurial requires no server because it's a distributed VCS, every working copy is also a complete repository, so once you've installed Mercurial you are ready to go, just type 'hg init' in the root directory of your project and you're off.

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

It's perfect for working alone or with a small number of developers (i.e. no IT staff or sysadmins available), it has a utility that lets you quickly set up a temporary server for your local repository so when you meet up with people it's easy for them to clone the repository or share changes. You can also just give people copies of your repository over email or USB key or copy them over the network or whatever and reconcile changes to the copies against each other later.

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

For me Mercurial made the difference between actually using a VCS for personal projects and just giving up because it's too much trouble. Setting up a Subversion server locally isn't a huge deal but it's still enough trouble to make me not bother, and if you really want to be thorough you'd want to think about how to do proper backups, etc. With Mercurial at any point you can just back up your working copy to other media and you have a backup. I don't know if this really makes sense but Mercurial is a VCS that you can use casually and informally thanks to the distributed nature.

没有Xcode集成,但已经使用过有和没有集成的各种VCS'只要有好的客户可用,我认为这不是很重要。这些天我大部分时间都只是选择了命令行而且很新鲜。

No Xcode integration, but having used various VCS' with and without integration I don't think it's very important as long as good clients are available. These days I've mostly settled on just going command line and it's refreshing.

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

Perforce, IMO, is right out. Aside from being a commercial product it is obnoxious beyond belief. It requires you to be connected to a server at all times or things become a major pain in the ass. So if you just want to work on stuff from multiple machines in multiple locations or if you want to have people on the project that won't be on the same network all the time it's going to suck. Perforce just constantly beats you over the head with the fact you are using Perforce, no other VCS I've used is so in your face and annoying.

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

Git is another option with a similar feature set to Mercurial that might be worth looking at. In my case I also do Windows stuff and Git's Windows support is supposedly crap so I went with something that works on all my platforms.

构建自动化IMO是构建服务器的工作,而不是VCS的工作,所以如果你想要构建自动化找到一个合适的构建服务器。

Build automation IMO is the build server's job, not the VCS' job, so if you want build automation find an appropriate build server.

这篇关于我应该使用什么OSX / XCode版本控制系统进行iPhone开发?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆