iOS之版本迭代SVN代碼管理

不少有追求的團(tuán)隊(duì)都使用Git來(lái)進(jìn)行代碼版本管理了吧,但我相信還有很多團(tuán)隊(duì)橡疼,不僅是大公司團(tuán)隊(duì),或是小創(chuàng)業(yè)公司團(tuán)隊(duì)庐舟,都還在使用SVN這種簡(jiǎn)單易學(xué)的代碼管理工具。以下方法來(lái)自我原來(lái)公司團(tuán)隊(duì)挪略。它不僅可以可以清晰管理好每個(gè)版本代碼历帚,還可以解決以下兩個(gè)問(wèn)題:

1. 滿足多個(gè)小組,或者多個(gè)項(xiàng)目同時(shí)協(xié)同開(kāi)發(fā)挽牢;
2. 面對(duì)變化多端的需求,可以臨時(shí)插件一個(gè)版本緊急發(fā)布禽拔;

對(duì)于小團(tuán)隊(duì)刘离、快速發(fā)展的產(chǎn)品來(lái)說(shuō)睹栖,妥善處理好上述第2點(diǎn)顯得很重要。下面舉例說(shuō)明怎樣在SVN上友好進(jìn)行版本迭代代碼管理磨淌,其中SVN操作可以使用Conerstone疲憋。假設(shè)我們立項(xiàng)了一個(gè)新項(xiàng)目梁只,名稱取為Sample。

1)項(xiàng)目工程準(zhǔn)備

a.在SVN服務(wù)器上創(chuàng)建一個(gè)Sample文件夾搪锣,在其下創(chuàng)建4個(gè)目錄秋忙,分別如下(+:表示文件目錄展開(kāi)构舟;-:表示文件目錄收起):

 +Sample
    -branches
    -tags
    -releases
    -trunk

b.將工程文件導(dǎo)入大主干trunk(trunk上的代碼與線上版本代碼保持一致)

+Sample
   -branches
   -tags
   -releases
   +trunk
     -Sample
      -Sample.xcodeproj

2)迭代一個(gè)新版本

a. 從大主干trunk上開(kāi)一個(gè)開(kāi)發(fā)分支到branches目錄下,團(tuán)隊(duì)成員基于Branch_Sample_1.0.0分支開(kāi)發(fā)

 +Sample
     +branches
        +Branch_Sample_1.0.0
            -Sample
            -Sample.xcodeproj
     -tags
     -releases
     +trunk
        -Sample
        -Sample.xcodeproj

b. 開(kāi)發(fā)完成后狗超,進(jìn)入測(cè)試階段,這時(shí)最好基于tag打包提測(cè)努咐。在tags目錄下首先創(chuàng)建包含版本號(hào)信息的tag目錄苦蒿,例如tag_Sample_1.0.0渗稍,再將Branch_Sample_1.0.0打一個(gè)tag到該目錄下,提測(cè)打包tag名稱包含版本號(hào)及當(dāng)前操作時(shí)間竿屹,例如tag_Sample_1.0.0_20170512报强。一般每個(gè)版本都會(huì)前后打多個(gè)tag測(cè)試拱燃。

+Sample
    +branches
        +Branch_Sample_1.0.0
            -Sample
            -Sample.xcodeproj
    +tags
        +tag_Sample_1.0.0_20170512
           -Sample
            -Sample.xcodeproj
    -releases
    +trunk
       -Sample
        -Sample.xcodeproj

c. 測(cè)試完成后,為了讓每個(gè)發(fā)布版本代碼歷史可查,發(fā)布打包也不是從branch上直接打包坚嗜,而是先從branch上tag一個(gè)版本到releases目錄下诗充,再打包提交發(fā)布苍蔬。如果到了這一步,發(fā)現(xiàn)了嚴(yán)重bug碟绑,也直接在release分支上修正,之后再手工同步到對(duì)應(yīng)的開(kāi)發(fā)分支上茎匠。

+Sample
   +branches
      +Branch_Sample_1.0.0
          -Sample
          -Sample.xcodeproj
   +tags
      +tag_Sample_1.0.0_20170512
        -Sample
         -Sample.xcodeproj
   +releases
      +Release_Sample_1.0.0
        +Release_Sample_1.0.0_20170520
           -Sample
            -Sample.xcodeproj
   +trunk
     -Sample
      -Sample.xcodeproj

d. 版本發(fā)布后,則需要將Branch_Sample_1.0.0的代碼同步回(reintegrate branch)trunk上诵冒,保證trunk上代碼與線上版本代碼一致。開(kāi)發(fā)下一個(gè)版本時(shí)汽馋,使用上述相同的順序操作侮东。

3)插入小版本

假設(shè)在開(kāi)發(fā)一個(gè)大版本1.2.0時(shí)豹芯,突然產(chǎn)品上有緊急需求,需要立即先發(fā)布一個(gè)小版本铁蹈,而由于Branch_Sample_1.2.0上已經(jīng)在開(kāi)發(fā)進(jìn)行中了宽闲,所以不能直接在這個(gè)分支上修改發(fā)布小版本握牧,這時(shí)可從trunk上按上述方法再開(kāi)一個(gè)新的小版本分支出來(lái),例如叫Branch_Sample_1.1.1沿腰,在新的分支上開(kāi)發(fā)完成览徒,再依次打tag測(cè)試矫俺,最后發(fā)布。等小版本1.1.1發(fā)布后厘托,再將代碼同步(reintegrate branch)到trunk友雳,并從trunk將1.1.1增加的代碼同步(synchronize branch)到開(kāi)發(fā)分支Branch_Sample_1.2.0上即可铅匹。多個(gè)版本后,SVN服務(wù)器成版本目錄呈現(xiàn)類似如下:

+Sample
  +branches
     ...
     -Branch_Sample_3.4.0
     -Branch_Sample_3.4.1
     -Branch_Sample_3.5.0
     +Branch_Sample_3.5.1
        -Sample
        -Sample.xcodeproj
      ...
  +tags
    ...
    -tag_Sample_3.4.0
    -tag_Sample_3.4.1
    +tag_Sample_3.5.0
        -tag_Sample_3.5.0_2017091114
        -tag_Sample_3.5.0_2017091121
    +tag_Sample_3.5.1
        +tag_Sample_3.5.1_2017101011
            -Sample
            -Sample.xcodeproj
      ...
  +releases
    ...
    -Release_Sample_3.4.0
    -Release_Sample_3.4.1
    -Release_Sample_3.5.0
    +Release_Sample_3.5.1
        +Release_Sample_3.5.1_2017101110
            -Sample
            -Sample.xcodeproj
      ...
  +trunk
    -Sample
    -Sample.xcodeproj

總之,基本的管理思想如上所述流礁,但可以根據(jù)具體團(tuán)隊(duì)情況,增減上述流程神帅。比如再姑,之前在較大的團(tuán)隊(duì)時(shí)找御,團(tuán)隊(duì)會(huì)在開(kāi)發(fā)分支Branch_Sample_1.0.0基礎(chǔ)上,再各自開(kāi)一個(gè)個(gè)人開(kāi)發(fā)分支進(jìn)行功能開(kāi)發(fā)霎桅,等等栖疑。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末滔驶,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子揭糕,更是在濱河造成了極大的恐慌萝快,老刑警劉巖插佛,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異雇寇,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)锨侯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)嫩海,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)囚痴,“玉大人,你說(shuō)我怎么就攤上這事深滚∞忍罚” “怎么了痴荐?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)生兆。 經(jīng)常有香客問(wèn)我难捌,道長(zhǎng),這世上最難降的妖魔是什么根吁? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮击敌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘愚争。我一直安慰自己映皆,他們只是感情好挤聘,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著组去,像睡著了一般。 火紅的嫁衣襯著肌膚如雪从隆。 梳的紋絲不亂的頭發(fā)上诚撵,一...
    開(kāi)封第一講書(shū)人閱讀 49,079評(píng)論 1 285
  • 那天键闺,我揣著相機(jī)與錄音,去河邊找鬼辛燥。 笑死筛武,一個(gè)胖子當(dāng)著我的面吹牛挎塌,可吹牛的內(nèi)容都是我干的徘六。 我是一名探鬼主播榴都,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼嘴高!你這毒婦竟也來(lái)了竿音?” 一聲冷哼從身側(cè)響起拴驮,我...
    開(kāi)封第一講書(shū)人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎莹汤,沒(méi)想到半個(gè)月后快鱼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡线罕,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了窃判。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡袄琳,死狀恐怖询件,靈堂內(nèi)的尸體忽然破棺而出唆樊,到底是詐尸還是另有隱情,我是刑警寧澤逗旁,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布嘿辟,位于F島的核電站片效,受9級(jí)特大地震影響红伦,放射性物質(zhì)發(fā)生泄漏淀衣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一膨桥、第九天 我趴在偏房一處隱蔽的房頂上張望蛮浑。 院中可真熱鬧国撵,春花似錦、人聲如沸介牙。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)囚似。三九已至线得,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贯钩,已是汗流浹背募狂。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留祸穷,地道東北人性穿。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓雷滚,卻偏偏與公主長(zhǎng)得像需曾,于是被迫代替她去往敵國(guó)和親祈远。 傳聞我的和親對(duì)象是個(gè)殘疾皇子呆万,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

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