1、安裝VisualSVN軟件
用于搭建服務(wù)器,添加倉庫和配置用戶信息權(quán)限等操作(項(xiàng)目經(jīng)理需要做的,員工一般不用)
2、終端指令
常用命令行及簡寫:- 下載項(xiàng)目:svn checkout -> svn co? ? ? - 提交代碼:svn commit -> svn ci? ? ? ? **常用**- 更新代碼:svn update -> svn up? ? ? ? **常用**- 刪除文件:svn remove -> svn rm- 查看版本信息:svnlog- 查看文件狀態(tài):svn status -> svn st常見文件狀態(tài)-? ? : 不在svn的管理之下- A : 該文件在已經(jīng)添加到svn的管理之下,但是只是保存在本地,并沒有提交到服務(wù)器- M : 該文件在本地已經(jīng)被修改,但是沒有傳到服務(wù)器- D : 該文件在本地已經(jīng)刪除,但是服務(wù)器依然有該文件,刪除操作沒有更新到服務(wù)器- C:產(chǎn)生沖突-? I :該文件已經(jīng)被忽略-? ! : 文件丟失或不完整(無法識別該文件)- G :產(chǎn)生沖突后,更新操作去解決沖突相當(dāng)于合并
項(xiàng)目經(jīng)理操作
從服務(wù)器下載配置內(nèi)容:
svn checkout服務(wù)器項(xiàng)目地址--username=用戶名--password=密碼
初始化項(xiàng)目
創(chuàng)建項(xiàng)目 : touch項(xiàng)目名
添加到svn的管理 : add項(xiàng)目名
將項(xiàng)目上傳服務(wù)器 : svn commit -m “提交內(nèi)容的注釋 ”
員工A加入開發(fā)
將服務(wù)器內(nèi)容下載到本地
svn checkout服務(wù)器地址--username=用戶名--password=密碼
開始開發(fā)
創(chuàng)建文件 : touch 文件名
提交到服務(wù)器 :? svn commit -m “提交內(nèi)容的注釋”
項(xiàng)目經(jīng)理更新代碼
svn update(如果該文件已經(jīng)在本地則更新,不在本地則下載)
新員工B加入開發(fā)
1、向項(xiàng)目經(jīng)理要一些東西
SVN服務(wù)器地址、賬號及密碼
需求文檔 : 項(xiàng)目有什么需求,要實(shí)現(xiàn)什么功能
接口文檔 : 詳細(xì)的記錄服務(wù)器所有接口
效果圖: 界面最終要實(shí)現(xiàn)什么樣的效果
2、開始開發(fā)
將服務(wù)器已有的內(nèi)容下載到本地:
svn checkout服務(wù)器地址--username=用戶名--password=密碼
創(chuàng)建文件:
touch文件名
將創(chuàng)建文件添加到SVN管理(*代表將文件夾內(nèi)所有文件添加到SVN管理):
svn add *
提交到服務(wù)器
svn commit -m “提交內(nèi)容的注釋(說明)”
版本回退
1、 svn update -r版本號
先回退到某個版本,確認(rèn)下該版本是否是自己打算回退的版本
2、 svn update :
將本地文件更新到最新版本
3、 svn merge -r最新版本號:要回退版本號person.h
將兩個版本進(jìn)行合并
4、svn commit -m “回退到某版本”
重新提交服務(wù)器
刪除文件
svn remove文件名
svn commit -m “刪除了某個文件”
查看版本信息
svn update? ? 先從服務(wù)器更新一下最新內(nèi)容 svnlog再查看提交的各版本信息
代碼沖突
out of date : 過期,本地版本號低于服務(wù)器的版本
df : 在命令 中展 所有的不同
e : 在命令 中來編輯沖突
mc:? 使用我的本地的代碼來覆蓋服務(wù)器的代碼
tc :? 使用服務(wù)器的代碼來覆蓋我的代碼
p : 延遲解決沖突,展示所有沖突的文件, 手動解決沖突: svn resolved person.h
注意: 1 > 盡量在修改文件之前,先update 2 >如果修改公共文件,最好先跟同事打招呼,讓他先別修改,修改完之后,讓他更新
3、圖形化界面: CornerStone
項(xiàng)目經(jīng)理操作:
界面概覽

Snip20160806_3.png
添加遠(yuǎn)程服務(wù)器倉庫

Snip20160806_5.png
將服務(wù)器倉庫代碼checkout到本地

Snip20160806_7.png
選擇保存到本地的路徑

Snip20160806_8.png
通過xcode創(chuàng)建項(xiàng)目保存到剛才checkout的本地路徑

Snip20160806_9.png
將文件添加到SVN管理(手動點(diǎn)擊?號)

Snip20160806_10.png
Commit初始化

Snip20160807_11.png
![Uploading Snip20160807_11_748844.png . . .]](http://upload-images.jianshu.io/upload_images/2068665-7c5ca669c9495d9e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
配置忽略文件

Snip20160807_19.png
需要忽略的文件
xcode會默認(rèn)記錄之前停留文件,下次打開依然停留在該文件,這個不需要共享
xcode會默認(rèn)記錄之前目錄的打開情況,同事不需要,沒必要共享
在代碼中打的斷點(diǎn)信息,不需要進(jìn)行共享
在xcode可以進(jìn)行上面3點(diǎn)操作,讓它生成新的xcuserdata數(shù)據(jù),然后再忽略一下即可

Snip20160807_26.png
忽略掉文件之后先update一下然后再commit即可

Snip20160807_28.png
員工A加入開發(fā)
先添加服務(wù)器倉庫

Snip20160807_30.png
將倉庫代碼checkout到本地

Snip20160807_31.png
然后就可以打開項(xiàng)目開始開發(fā)了,后面的Commit和update操作直接在Xcode里面即可(Xcode工具欄—> Source Controller—>CheckOut/update)
沖突解決
當(dāng)在xcode內(nèi)Commit代碼的時候,提示如下信息:

Snip20160807_32.png
先update一下本地代碼,解決沖突

Snip20160807_33.png
再Commit到服務(wù)器
4、使用Xcode CheckOut代碼
在偏好設(shè)置添加遠(yuǎn)程代碼倉庫

Snip20160807_34.png

Snip20160807_38.png
然后再使用xcode工具條的Resource Control進(jìn)行checkout代碼操作

Snip20160807_39.png
后面就是正常的Commit和update操作了...
5、Xcode中使用svn的注意點(diǎn):
1、如果使用到靜態(tài)庫必須使用命令行將靜態(tài)庫添加到svn的管理之下
2、如果在項(xiàng)目中能使用xib,盡量使用xib;如果必須使用storyboard,盡量保證只有一個人在操作storyboard
作者:木頭Lee
鏈接:http://m.itdecent.cn/p/97a65b0921ce
來源:簡書
簡書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處。