一般來說,我會說第一步對如何在命令行環境中使用svn有一個很好的基本理解。有一些基本操作(標記,設置「忽略」屬性)很難(不可能)在XCode中執行(至少在XCode 3中)。對於一個習慣於在通用的Unix/Linux環境中使用svn的開發人員來說,實際上他們不需要學習XCode特有的東西 - 只需排除build
目錄和每個用戶的XCode設置文件(參見下文)。
(1.)不正確。沒有理由你的圖片等不能包含在svn中。正常的XCode設置應該是你的圖像(等)將位於源文件的「Resources」文件夾中,並作爲XCode版本的「Copy Bundle Resources」階段的一部分複製到應用程序映像中。
整個XCode項目文件夾中應包括SVN,但下列情況除外:
- 的「構建」目錄
- 每個用戶的XCode設置/歷史AppName.xcodeproj/* pbxuser和。AppName.xcodeproj/* mode1v3
你可能想告訴SVN通過執行類似忽視這些目錄:
svn propedit svn:ignore .
(2.)沒有理由的東西應該發生「無法解釋的」。如果沒有別的,在終端窗口中運行一個手冊svn update
,它會告訴你它更新的是什麼文件。 (3.)標準做法是在根目錄中有「trunk」,「tags」和「branches」目錄。樹幹就是你通常與工作,所以第一步一個新的開發將採取對檢查出的最新的「主幹」版本
svn co svn+ssh://host.com/repository/AppName/trunk AppName
做一些改變後,將它們保存到存儲庫svn commit
(或XCode的「SCM」菜單中的「Commit Changes ...」)。使用svn update
(或XCode中的「更新至」)獲取其他開發人員所做的更改。
要標記釋放,複製trunk
到tagname
:
svn cp svn+ssh://host.com/repository/AppName/trunk svn+ssh://host.com/repository/AppName/tags/version1
(4)我沒有與哈德森的經驗,所以我不能對此發表意見,雖然「失蹤xcodeproject」聽起來像也許從svn中可能會缺少AppName.xcodeproj目錄。
看起來我們已經達成了很多協議,但我喜歡你給出了具體的命令例子,特別是svn update。 – Caleb 2011-04-05 04:30:11