iOS SVN源代碼管理工具使用

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
- 查看版本信息:svn log
- 查看文件狀態(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)容 
svn log
  再查看提交的各版本信息
  • 代碼沖突
  • 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
  • 配置忽略文件


    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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,698評論 6 539
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,202評論 3 426
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,742評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,580評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,297評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,688評論 1 327
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,693評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,875評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,438評論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,183評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,384評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,931評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,612評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,022評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,297評論 1 292
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,093評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,330評論 2 377

推薦閱讀更多精彩內(nèi)容