XCode自帶SCM以及SnapShots用法 圖文并茂
XCode自帶Source Control Manager(SCM)以及SnapShots用法是本文要介紹的內(nèi)容,在隨著代碼的更新,客戶需求的變化我們總是需要時常的去改變代碼,或者是用這當(dāng)前的代碼去做測試,但是總有不注意忘備份的時候,所以很多開發(fā)者寫測試代碼的時候把源文件改的一塌糊途。在Mac上,Xcode已經(jīng)自帶了一些管理代碼的形式。
1.先說說XCode自帶的SCM工具吧,這個工具主要是為了項目組內(nèi)大家共享同一份代碼,將source code放在服務(wù)器上,當(dāng)然用于個人的代碼管理也是很不錯的啊1.1 先說說配置服務(wù)器,主要是先要建一個svn的庫(我主要以本機當(dāng)服務(wù)器用來配置,如果單獨使用別的配置也是一樣, 詳見http://www.cocoachina.com/bbs/htm_data/2/0808/317.html
打開終端->cd到想要安裝的目錄下->svnadmin create-> svnadmin create lib,見圖
1.2 xcode SCM端的配置
這些都是yile教我的啊,呵呵,謝謝嘍.1.3 配置Repositories通過XCode菜單的SCM選項,選擇Repositories,在這里大家應(yīng)該都可以看到自己已經(jīng)增加的 Repositories,如上圖所示的應(yīng)該就是test, 通過Import可以導(dǎo)入工程文件(這里請記住導(dǎo)入的工程要把build文件夾刪除,不然以后同步的時候會出錯,因為這個里面包含有很多用戶信息以及系統(tǒng) 的配置信息), Check out選項可以下載下***的source code, 后面的create Directory, Copy, Move, Delete就不一一說明了,我想大家一用就能明白.
1.4 使用SCM管理工程打開工程后在Xcode->SCM菜單里,選擇confiure SCM for this project...出現(xiàn)如下對話框,選擇自己的Repositories,如下圖選擇的是TestSVN
下面看看我們想要看到的重心,在選擇工程文件->get Info,可以調(diào)出對話框
當(dāng)然對于每一個文件的話,也可以選擇文件->get Info,調(diào)出同樣的對話框,這里我們可以看到自己對文件的注解,以及修改記錄,可以選擇任一次記錄與當(dāng)前的工程進行比較,也可以update到某一個 revision. 也可以通過XCode->SCM的子菜單來進行操作
剛對一個文件進行更改或是更新后都會標(biāo)示出來,如下所示:
文件的標(biāo)示狀態(tài)簡介如下:
當(dāng)更改完代碼后可以選擇文件或是工程,然后選擇commit changes...覺的有一點一定要提示的是:對于一個文件工程有project file和user file, project file是以project.xcodeproj命名的,如果我們改動架構(gòu)性的東西時,一定要同時commit此文件,比如說我們增加或是刪除一個文件 時,當(dāng)我們同步增加的文件到repositories的時候,也要同時同步project.xcodeproj文件。
再看一下SnapShot功能吧,這個功能好像只是在XCode 3.0以后才加上的, 這個功能用來管理個人的source code是很好用的,但是不能協(xié)同工作,下面我也簡單的介紹一下吧.
1、首先當(dāng)我們打開一個工程后,在File菜單下有Make Snapshot和Snapshots這二項,整個的使用我們可以全部靠這二個菜單項目來完成.
2、當(dāng)選擇一次Make Snapshot后,你打開SnapShots對話框就可以看到你做的處理,當(dāng)然你可以進行注解
3、管理工程
當(dāng)你看到上面的對話框時,我想你基本上已經(jīng)會使用了,對, 使用起來就是這么簡單的,你可以restore到你任何狀態(tài),也可以對二個文件進行比較,注解等. 當(dāng)然后有一點我覺的我有責(zé)任要弄清楚就是如果我們換一臺機器是不是這個就會丟失了?不是的, 在~/Library/Application Support/Developer/Shared/SnapshotRepository.sparseimage目錄下保存的就是Snapshots 的信息,當(dāng)你換機器了,你也不會丟失關(guān)于工程的歷史改動信息,不過需要配置一下,SnapshotReository里面的一個plist文件,因為這里 保存了你原始工程的路徑等常用信息,不過我相信大家一看就能明白.
SCM里選項的功能最主要的還是同步代碼的同步,比較等吧,我也是正在學(xué)習(xí)階段,有不對的地方還請大家指點出來.Add to Repository -- 當(dāng)增加文件到工程時,要選此項目將新加的文件增加到服務(wù)器上Resolved -- 此項應(yīng)該是當(dāng)自己改動的文件與服務(wù)器上存放的文件有沖突時是否仍然要同步文件,以當(dāng)前的文件為準(zhǔn),不過因為我目前只是管理自己的代碼還沒有使用過 Commit Changes... -- 同步自己的改動文件到服務(wù)器上,這個是比較常用的,當(dāng)文件前出現(xiàn)M, A等時,而又要確認(rèn)更改時就可以選此項.Discard Changes... -- 放棄當(dāng)前的所有改動,回滾到last vision
Compare With與Diff With這二個選項都是用來比較文件的,二者的不同可以自己嘗試一下,Compare With是對二個版本的文件進行比較,而diff With會給出二者文件的不同的信息.
Commit Entire Project.. -- 這個類似于Commit Changes功能,不過這個是對整個的文件同步Refresh Entire Project -- 刷新一下本地工程文件Update Entire Project -- 更新本地工程文件,與服務(wù)器同步.
小結(jié):XCode自帶Source Control Manager(SCM)以及SnapShots用法的內(nèi)容介紹完了,希望本文對你有所幫助!
在這里給出一下ADC的文檔鏈接,英文水平過的去的,都可以看看這個,比較詳細(xì)
https://developer.apple.com/iphone/library/documentation/DeveloperTools/Conceptual/XcodeSourceManagement/10-Introduction/chapter_1_section_1.html