2009-09-04 72 views
17

我一直在開發我的第一個iPhone應用兼職,並希望開始使用比過去四個月內使用的更嚴格形式的版本控制,即將源代碼文件夾複製到另一個目錄並添加時間戳他們。什麼OSX/XCode版本控制系統應該用於iPhone開發?

我已經使用了SourceSafe和Team Foundation System,但是我對Macintosh的版本控制系統(VCS)沒有很好的瞭解。我在SO上看到了一個Subversion的前端廣告,但還想要其他一些選擇。

這裏是我最初的需求的列表:在OS X Leopard的本地

  • 奔跑10.5.7
  • 用了XCode 3.1.3集成(如果沒有集成,友好的用戶界面)
  • 基本VCS功能 - 簽入註釋,分支,固定
  • 高級VCS功能(如構建自動化或報告)在此時會很好,但並不關鍵
  • 能夠處理多個開發人員(6-12個月)

在此先感謝您的幫助。

回答

21

Mercurial如果你不想建立一個專用服務器,我將選擇一個項目作爲獨立項目的版本控制。 Mercurial不需要服務器,因爲它是分佈式VCS,每個工作副本也是一個完整的存儲庫,因此,一旦安裝了Mercurial,您就可以開始使用了,只需在項目的根目錄中鍵入'hg init',即可關閉。

它非常適合單獨或與少數開發人員一起工作(即沒有IT人員或系統管理員可用),它有一個實用程序,可讓您快速爲本地存儲庫設置臨時服務器,因此,當您與人見面時他們很容易克隆存儲庫或共享更改。您也可以通過電子郵件或USB密鑰將您的存儲庫副本提供給您,或者通過網絡或其他方式將其複製,並在稍後將對這些副本的更改進行協調。

對我來說,Mercurial在實際使用個人項目的VCS之間做出了區別,只是因爲太麻煩而放棄了。在本地設置Subversion服務器並不是什麼大問題,但是如果你真的想徹底的想要考慮如何做適當的備份等,仍然有足夠的麻煩。點你可以將你的工作副本備份到其他媒體上,並且你有一個備份。我不知道這是否真的有意義,但Mercurial是一個VCS,您可以隨意使用並非正式地使用VCS,這要歸功於分佈式特性。

沒有Xcode集成,但使用了各種VCS'有和沒有集成我不認爲這是非常重要的,只要好的客戶端可用。這些日子裏,我大部分的時間都是靠命令行來解決問題,而且令人耳目一新。

國際海事組織(IMO)Perforce正式發佈。除了作爲一種商業產品之外,它還是令人厭惡的。它要求你隨時連接到服務器,或者事情成爲屁股的主要痛點。因此,如果您只是想在多個位置的多臺計算機上工作,或者希望讓項目中的人員始終處於不在同一個網絡中的情況,那麼這種情況會非常糟糕。 Perforce只是不斷在你頭上使用Perforce的事實,沒有其他的VCS我使用過它,在你的臉上和煩人的。

Git是與Mercurial類似的功能集,可能值得一看的另一種選擇。在我的情況下,我也做Windows的東西和Git的Windows支持據說是廢話,所以我去了一些適用於我所有平臺的東西。

構建自動化IMO是構建服務器的工作,而不是VCS的工作,所以如果您想讓構建自動化找到合適的構建服務器。

+2

billlmaya:如果你已經升級到Mac OS X 10.6,因爲你原來的帖子,我強烈建議看看MacHg(http://jasonfharris.com/machg/)。除非蘋果在當今版本的Xcode4中已經大幅改進(已經大大改進)scm集成,否則MacHg的易用性和深度功能使得我所見過的所有其他視覺scm客戶端都感到羞恥。 – clozach 2010-07-30 23:35:33

10

SVN或Subversion包含在Xcode中,並與其很好地集成。隨着您越來越需要更大的需求,您可以使用第三方Subversion服務器,並通過網絡使用相同的SVN支持。如果你不喜歡SVN,我認爲XCode也支持CVS。

如果您正在尋找足夠的,便宜的和可擴展的東西,那麼只需轉到XCode的SCM菜單,並查看已有的東西。如果您需要幫助設置SVN,只需發表評論。

+2

這裏有一個很好的一步一步: http://iphonedevelopment.blogspot.com/2009/03/version-control-is-your-friend.html 你應該能夠將其設置在十分鐘左右。 – mahboudz 2009-09-04 10:29:40

+0

SVN是一個很好的免費解決方案。已經使用了一段時間。愛它。 – mkelley33 2009-09-04 10:39:00

+0

我一直有Xcode SVN集成它似乎從來沒有工作的問題,但是版本或基石是真棒SVN第三方GUI如果你不喜歡使用命令行(這很容易) – 2010-09-26 11:33:34

0

Perforce現在是free最多可容納20個用戶,但在此之後將很貴。不過,您可能想查看它。 Xcode不再支持本機Perforce集成,儘管有scriptsplugin

0

我剛剛查看了Xcode(3.2,但它可能不完全一樣),並且源代碼控制集成的選項是subversion,CVS和perforce。

的Xcode的外,有幾個非常漂亮的GUI客戶端顛覆爲OS X

顛覆將是一個良好的開端,它似乎。

顯然,這些天所有的酷孩子都在使用分佈式VCS。你可能想花半個小時閱讀git或mercurial(hg - 我的偏好)。沒有與Xcode直接集成,但它們很容易進入。

2

它看起來像顛覆將是您的Xcode的最佳選擇,因爲已經有一些指導,使用XCode here啓動和運行。 Subversion解決了你所說的所有功能。專門固定是Source Safe的一項功能;然而顛覆可以做標記。構建自動化不是源控制系統的功能,但源控制系統通常用於持續集成服務器場景。我沒有使用它,但從我的理解哈德森是一個持續的整合服務器正在獲得普及和momemtum。你可以找到更多關於Hudson的信息herehere

1

因爲XCode本身支持它,所以我也會爲了顛覆而投票。我一直在使用它,並一直很開心。

但是我會問你的要求本地運行服務器。當然,你可以做到這一點與顛覆沒有問題。但是,難道你不會對你的硬盤故障感到緊張嗎?

我一直在使用Beanstalk來承載我的源代碼。最多3名開發人員可以免費使用,一旦成長,您就可以升級您的賬戶,速度快,而且安全。

相關問題