協(xié)同開發(fā)中SVN使用

概述

本次SVN提交規(guī)范主要針對當前項目中出現(xiàn)的SVN管理難涡匀,開發(fā)流程控制難掌控渊跋,項目進度記錄不準確等問題而提出着倾。

規(guī)范

目標卡者,要求

要求每個角色都要進行規(guī)范化SVN作業(yè)。

目錄結(jié)構(gòu)與開發(fā)模式

分散式分支開發(fā)模式原理
     Svn://project/
                                           +trunk/(主開發(fā)目錄)
                                           +branches/(分支開發(fā)目錄)
                                                                                +dev_1.0_function1(功能性分支1)
                                                                                +dev_2.0_function2(功能性分支2)
                                                                                …
                                           +tags(存檔目錄材诽,不允許修改)
  • 1.0的開發(fā)脸侥,做一個dev_1.0的功能性分支

    Svn://project/                                                                  
                                             +trunk/(不承擔開發(fā)任務(wù))
                                             +branches/
                                                                                  +dev_1.0_function1
                                             +tags
    
  • 1.0功能開發(fā)完成盈厘,合并分支到主干

    Svn://project/                                                                  
                                             +trunk/(merge from branch dev_1.0_function1)
                                             +branches/
                                                                                  +dev_1.0_function1(開發(fā)任務(wù)結(jié)束沸手,凍結(jié))
                                             +tags
    
  • 測試完成,根據(jù)主干做一次1.0的tag

    Svn://project/                                                                  
                                             +trunk/(merge from branch dev_1.0_function1)
                                             +branches/
                                                                                  +dev_1.0_function1(開發(fā)任務(wù)結(jié)束跳仿,凍結(jié))
                                             +tags
                                                                                  +tag_release_1.0(copy from trunk)
    
  • 1.0版本結(jié)束菲语,做下一個版本的開發(fā)2.0

    Svn://project/                                                                  
                                             +trunk/(merge from branch dev_1.0_function1)
                                             +branches/
                                                                                  +dev_1.0_function1(開發(fā)任務(wù)結(jié)束谨究,凍結(jié))
                                                                                  +dev_2.0_function2(2.0的開發(fā))
                                             +tags
                                                                                  +tag_release_1.0(copy from trunk)
    
  • 1.0版本出現(xiàn)bug泣棋,直接在dev_1.0版本上修復(fù)

    Svn://project/                                                                  
                                             +trunk/(merge from branch dev_1.0_function1)
                                             +branches/
                                                                                  +dev_1.0_function1(bugfix)
                                                                                  +dev_2.0_function2(2.0的開發(fā))
                                             +tags
                                                                                  +tag_release_1.0(copy from trunk)
    
  • 選擇性的進行代碼合并

    1,在dev_1.0版本上修復(fù)完成后需要同步合并代碼到其他的開發(fā)分支上去
    2,需要合并到主干然后重新打包上線一個版本用于修復(fù)線上緊急bug
    

使用規(guī)范

命名規(guī)范
  • 分支名稱采用固定名稱與下劃線結(jié)合方式進行功能性分支描述如:dev_1.0_crm潭辈。
  • 存檔名稱統(tǒng)一采用tag_release_版本的方式把敢。
提交規(guī)范
提交之前先更新

在每次提交文件的時候,先進行必要的更新操作婶恼,因為柏副,有可能在你修改文件的期間,別人也修改了同樣的文件眷篇,那么本次的提交很可能會失敗蕉饼。

保持原子性的提交

每次提交的時間盡可能的短玛歌,如當你修改了UI界面支子,完成了功能小細節(jié),確認了bug完善就提交代碼瓤的。

不要提交本地配置文件吞歼,自動生成的文件,自己不明白的文件

本地環(huán)境因人而異稽坤,因此就有了不同的配置文件尿褪,緩存生成文件等,在提交的時候顿仇,盡可能檢查提交的內(nèi)容是否是包含了類似不必要的文件摆马。

注釋規(guī)范
每次提交必須書寫明晰的標注

在項目中,如果沒有注釋囤采,會導(dǎo)致管理人員不能清晰的把握每次的項目提交的概要蕉毯,bug管理與文件不對稱,難以掌控項目的進展等問題进肯,因此建議填寫注釋褐着,同時不能填寫一些無效含蓉,無用的信息。填寫好的注釋應(yīng)該是能概要的描述所提交的文件的基本功能的信息斟赚,也建議使用下面的規(guī)范差油。

注釋規(guī)范寫法蓄喇,提交前加注釋標簽
  • Todo: 任務(wù)清單
    對于需求性的功能使用todo前綴標簽,如加入經(jīng)紀公司模塊刃鳄,使用類似以下語句:Todo: 增加經(jīng)紀公司模塊
  • Bugfix:: bug修復(fù)
    對于系統(tǒng)bug,等信息提交前加上bugfix標簽叔锐,如修復(fù)待遇顯示不正確:Bugfix: 修復(fù)期望工資待遇顯示錯誤bug
  • Junk: 零碎碎片
    其他的一些無效的信息修改

Android Studio 使用 SVN 代碼分支管理使用示例

安裝SVN客戶端

添加項目提交管理忽略的文件

image.png
  • 第一個和第二個是默認存在的愉烙,也就是本地項目工程配置相關(guān)內(nèi)容。保持不變返顺;
  • local.properties:一些系統(tǒng)配置勺择,例如SDK位置省核,NDK位置等昆码;
  • .gradle:相關(guān)配置文件赋咽;
  • .idea:存放項目的配置信息,包括歷史記錄淘钟,版本控制信息等陪毡;
  • build:該目錄下有大量臨時文件毡琉,這些文件會在build的時候創(chuàng)建,相當于eclipse的bin目錄慧耍;
  • app/src/test:測試文件芍碧;
  • .iml:編譯后自動生成号俐,其中內(nèi)容有一些本地信息,不同電腦上會不一致践美。

上傳項目到svn

image.png
image.png
image.png
image.png

創(chuàng)建分支

在項目上 右鍵->subversion->branch or tag 進入create branch or tag界面如下:


image.png

image.png

最終我們看到的分支明細是這樣的:


image.png

切換分支 (一定是本地先提交再切換分支)

在項目上 右鍵->subversion->update directory ... 進入update directory 界面如下:


image.png

點擊use branch后面的"..."來選擇分支兴革,如下:


image.png

如果有多個分支杂曲,點擊第二條("guider...")就可以查看更多分支了擎勘。


image.png

分支合并

分支合并的順序一般有幾種

  • 功能開發(fā)分支 >合并到測試分支(或者直接合并到主干)
  • 線上版本tag1.0 作為線上版本bug 修復(fù)> 合并到主干及分別合并到其他功能開發(fā)分支 一般tag 不允許修改,也可從上線tag 打出一個分支出來作為修復(fù)線上bug 分支 然后進行以上操作合并
  • 功能分支之間的合并 常見于我們項目周期不同步煤裙,例如 醫(yī)學(xué)網(wǎng) 自考網(wǎng) 與 會計網(wǎng)不同步功能

合并分支一定是代碼在當前分支 然后進行 從其他分支合并到當前分支來進行操作

如圖我將其他分支合并到該master開發(fā)分支上來


image.png

image.png

有沖突解決沖突 然后提交即可

還可以這樣操作


image.png
image.png

一般我們會重復(fù)進行分支合切換 分支合并 解決沖突 提交 合并分支的操作

參考:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末欣硼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子豹障,更是在濱河造成了極大的恐慌沼填,老刑警劉巖括授,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件荚虚,死亡現(xiàn)場離奇詭異,居然都是意外死亡梯澜,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門渴析,熙熙樓的掌柜王于貴愁眉苦臉地迎上來晚伙,“玉大人吮龄,你說我怎么就攤上這事∨亓疲” “怎么了漓帚?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長午磁。 經(jīng)常有香客問我尝抖,道長,這世上最難降的妖魔是什么昧辽? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮登颓,結(jié)果婚禮上搅荞,老公的妹妹穿的比我還像新娘。我一直安慰自己挺据,他們只是感情好取具,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著扁耐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪产阱。 梳的紋絲不亂的頭發(fā)上婉称,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天,我揣著相機與錄音构蹬,去河邊找鬼王暗。 笑死,一個胖子當著我的面吹牛庄敛,可吹牛的內(nèi)容都是我干的俗壹。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼藻烤,長吁一口氣:“原來是場噩夢啊……” “哼绷雏!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起怖亭,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤涎显,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后兴猩,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體期吓,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年倾芝,在試婚紗的時候發(fā)現(xiàn)自己被綠了讨勤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片箭跳。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖潭千,靈堂內(nèi)的尸體忽然破棺而出衅码,到底是詐尸還是另有隱情,我是刑警寧澤脊岳,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布逝段,位于F島的核電站,受9級特大地震影響割捅,放射性物質(zhì)發(fā)生泄漏奶躯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一亿驾、第九天 我趴在偏房一處隱蔽的房頂上張望嘹黔。 院中可真熱鬧,春花似錦莫瞬、人聲如沸儡蔓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽喂江。三九已至,卻和暖如春旁振,著一層夾襖步出監(jiān)牢的瞬間获询,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工拐袜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留吉嚣,地道東北人。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓蹬铺,卻偏偏與公主長得像尝哆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子甜攀,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

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