git分支策略

一、Azure-DevOps建議的分支策略(官方推薦)

分支策略-Azure-DevOps.png

共識(shí)信息

1.master分支只合入穩(wěn)定代碼,未測(cè)試的代碼不能合入master
2.所有功能開(kāi)發(fā)纽疟,盡可能創(chuàng)建新的特性分支,一個(gè)特性一個(gè)分支(即feature分支,方便merge到多個(gè)不同分支中距淫。我們目前的方式是統(tǒng)一維護(hù)dev分支,特性分支被弱化了)
3.分支用途不同婶希,承擔(dān)管理員角色的人員也不同榕暇,分為配置人員、項(xiàng)目經(jīng)理、以及開(kāi)發(fā)人員彤枢。見(jiàn)上圖最左側(cè)的的人員信息

二狰晚、簡(jiǎn)化版的分支策略(適合我們的)

分支策略-簡(jiǎn)化.png

說(shuō)明
1.master是穩(wěn)定分支
2.test是測(cè)試分支,專門用來(lái)提測(cè)
3.test分支經(jīng)過(guò)測(cè)試后才能合入到master
4.dev/feature分支最后都合入到test上提測(cè)缴啡,提測(cè)通過(guò)后要打tag
5.dev/feature分支需要經(jīng)過(guò)評(píng)審和門禁才能合入test分支
6.dev/feature分支必須在test發(fā)生變更后及時(shí)更新
7.最后需要merge到master分支的分支(如文中的test分支)壁晒,都是需要能直接提測(cè),且必須由管理員(確切說(shuō)應(yīng)該是項(xiàng)目經(jīng)理)管控權(quán)限和合入節(jié)奏
8.緊急補(bǔ)丁分支业栅,是可以直接提測(cè)秒咐,不需要合入到test上提測(cè),合入后需要打tag
9.常用的分支就4個(gè)碘裕,master/test/dev/hotfix

三携取、分支策略實(shí)施前的準(zhǔn)備工作

1.先試運(yùn)行,找到適合自己項(xiàng)目運(yùn)作流程的最佳實(shí)踐帮孔,等完善后再形成項(xiàng)目約定雷滋,包括分支策略及管理員角色
2.各個(gè)互相依賴的項(xiàng)目間的分支策略要一致,便于節(jié)約后期溝通成本文兢,以及快速制定編譯策略
3.制定tag的命名規(guī)則(見(jiàn)tag命名規(guī)范 - 簡(jiǎn)書(shū) (jianshu.com)
)晤斩,各個(gè)互相依賴的項(xiàng)目間也要保持一致,原因同上

四禽作、常見(jiàn)問(wèn)題

【問(wèn)題】特性分支存在的意義尸昧?
答:目前我們正在使用的dev分支,替代了特性分支的功能旷偿,所以先說(shuō)下dev分支烹俗。

從TFS的集中式開(kāi)發(fā)方式切換到git的多分支上,我們的項(xiàng)目管理方式延續(xù)了TFS集中式開(kāi)發(fā)和交付的慣性萍程,所有的功能提測(cè)/交付時(shí)間相同幢妄,所以一個(gè)dev分支支撐全部的功能,目前看還可行茫负。這樣看蕉鸳,dev分支、test分支忍法,目前實(shí)際上就約等于master分支潮尝,是不穩(wěn)定的master,它既包含了全部的饿序、已經(jīng)穩(wěn)定的功能勉失,也包含了最新的、不穩(wěn)定的功能原探。

但實(shí)際上乱凿,更靈活的用法是顽素,用特性分支替代dev分支。特性分支適用于徒蟆,每個(gè)特性有自己獨(dú)立的提測(cè)/交付時(shí)間胁出,或者無(wú)法集中式提測(cè)和交付的情況(大型項(xiàng)目的團(tuán)隊(duì)更多,開(kāi)發(fā)節(jié)奏相互獨(dú)立)段审,因此特性分支更為靈活全蝶。例如,設(shè)備管理可以拉取一個(gè)設(shè)備特性分支戚哎,質(zhì)量管理可以拉取一個(gè)質(zhì)量特性分支裸诽,兩個(gè)分支根據(jù)自己的交付時(shí)間分別提測(cè)。這是特性分支的典型應(yīng)用場(chǎng)景型凳,也是它的價(jià)值所在丈冬。

特性分支是臨時(shí)分支,特性提測(cè)后甘畅,就可以刪除了埂蕊。這樣,長(zhǎng)期分支疏唾,就只有test分支和master分支了蓄氧。

特性分支還有一個(gè)應(yīng)用場(chǎng)景是,一個(gè)獨(dú)立的功能槐脏,既可以完整合入產(chǎn)品化的master分支喉童,也可以完整的合入其他非產(chǎn)品話的項(xiàng)目分支上。如果使用dev的話還需要從dev中將該功能的代碼挑選出來(lái)合入其他分支顿天。

【問(wèn)題】可以通過(guò)test或dev分支的tag標(biāo)簽堂氯,獲取到不同時(shí)期的代碼,為什么還需要master分支牌废?
答:待補(bǔ)充

【問(wèn)題】存在需求沖突問(wèn)題咽白,git怎么解決和適配?
答:需求沖突的問(wèn)題鸟缕,git本身無(wú)法解決晶框。git是靈活的代碼管理工具,提供多種方案解決常見(jiàn)問(wèn)題懂从,提高開(kāi)發(fā)效率授段,但是如何利用git,需要人為設(shè)計(jì)番甩。

產(chǎn)品設(shè)計(jì)階段就需要考慮如何解決需求沖突這個(gè)問(wèn)題畴蒲。產(chǎn)品開(kāi)發(fā)要避免需求沖突,或者通過(guò)開(kāi)關(guān)方式處理沖突对室;項(xiàng)目開(kāi)發(fā)可同時(shí)保留多個(gè)項(xiàng)目的master/test/dev分支模燥,后期同時(shí)維護(hù)多個(gè)項(xiàng)目分支

【問(wèn)題】分支是否要繼續(xù)存留?什么情況下可以刪除掩宜?
答:臨時(shí)分支用完即可刪除

【問(wèn)題】tag什么時(shí)候打蔫骂?什么場(chǎng)景下使用?
答:后期如果需要該快照下的代碼牺汤,即可打tag辽旋,確定無(wú)用的tag也可以及時(shí)刪除。一般是整塊的功能合入master的時(shí)候檐迟,或者需要標(biāo)記重要的里程碑節(jié)點(diǎn)時(shí)补胚,可以打tag,方便后期獲取該快照追迟。

五溶其、相關(guān)鏈接

tag命名規(guī)范 - 簡(jiǎn)書(shū) (jianshu.com)
git常用命令 - 簡(jiǎn)書(shū) (jianshu.com)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市敦间,隨后出現(xiàn)的幾起案子瓶逃,更是在濱河造成了極大的恐慌,老刑警劉巖廓块,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件厢绝,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡带猴,警方通過(guò)查閱死者的電腦和手機(jī)昔汉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拴清,“玉大人靶病,你說(shuō)我怎么就攤上這事〈矗” “怎么了嫡秕?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)苹威。 經(jīng)常有香客問(wèn)我昆咽,道長(zhǎng),這世上最難降的妖魔是什么牙甫? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任掷酗,我火速辦了婚禮,結(jié)果婚禮上窟哺,老公的妹妹穿的比我還像新娘泻轰。我一直安慰自己,他們只是感情好且轨,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布浮声。 她就那樣靜靜地躺著虚婿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪泳挥。 梳的紋絲不亂的頭發(fā)上然痊,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音屉符,去河邊找鬼剧浸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛矗钟,可吹牛的內(nèi)容都是我干的唆香。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼吨艇,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼躬它!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起秸应,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤虑凛,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后软啼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體桑谍,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年祸挪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了锣披。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡贿条,死狀恐怖雹仿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情整以,我是刑警寧澤胧辽,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站公黑,受9級(jí)特大地震影響邑商,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜凡蚜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一人断、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧朝蜘,春花似錦恶迈、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)步做。三九已至,卻和暖如春奈附,著一層夾襖步出監(jiān)牢的瞬間辆床,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工桅狠, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人轿秧。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓中跌,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親菇篡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子漩符,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

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