GitFlow實戰(zhàn)

什么是GitFlow

GitFlow是Git的一種分支模式。因為能夠非常好的適應(yīng)團隊開發(fā),正在變得越來越流行肛冶。
這個模式來源于Vincent Driessen的一篇文章GitFlow

優(yōu)點

  1. 并行開發(fā)
  2. 團隊合作
  3. 階段式發(fā)布
  4. 應(yīng)急處理

工作流程

是時候貼出這張著名的圖片了:)

GitFlow

來仔細地看看這張圖里的內(nèi)容。

  1. 剛開始的時候有一個origin/master分支,tag為0.1厘贼。master是發(fā)布的主分支。其HEAD總是指向準(zhǔn)備發(fā)布的代碼圣拄。tag可以視作版本嘴秸。
  2. 剛開始的時候有一個origin/develop分支。develop分支是開發(fā)的主分支庇谆。其HEAD總是指向下一次準(zhǔn)備發(fā)布的最新代碼岳掐。也有人將develop分支稱之為集成分支,因為集成測試基本都上根據(jù)這個分支的最新代碼來做饭耳。
  3. 現(xiàn)在需要開發(fā)新的功能串述,所以從develop分支拉出了一個feature分支.
git checkout -b feature/feature1 develop
  1. 在這個新功能開發(fā)完后,代碼需要合并到develop上
git checkout develop
git merge --no-ff feature/feature1
  1. 有些新功能沒有開發(fā)完寞肖,或者這次上線不需要纲酗,暫時不merge到develop中。
  2. 要上線的功能都已經(jīng)基本開發(fā)完成新蟆,需要測試觅赊,部署。這個時候從develop最新版本中拉出一個release分支
git checkout develop
git pull
git checkout -b release/v0.2 develop
  1. 在測試的過程中發(fā)現(xiàn)了bug琼稻,或者可能有些功能還沒有開發(fā)(個人感覺沒有開發(fā)完的功能也可以看成是一個bug⊙ . ⊙)茉兰,需要修復(fù)。這個時候需要從最新的release分支中拉出新的feature分支欣簇。
git checkout -b feature/fix_bug release/v0.2

在解決問題后规脸,分別merge到develop和release分支。

git checkout develop
git merge --no-ff feature/fix_bug
git checkout release/v0.2
git merge --no-ff feature/fix_bug

可以看到feature分支可能從develop拉出來熊咽,但是最后必須merge到develop分支莫鸭。

  1. 經(jīng)過一系列的測試之后,終于決定發(fā)布新版本了横殴。這個時候?qū)⒆钚碌膔elease分支merge到master分支被因,并打出最新的tag。
git checkout master
git merge --no-ff release/v0.2
git tag -a 0.2
  1. 在上線之后衫仑,如果發(fā)現(xiàn)了一個bug需要修復(fù)梨与,這時從master分支中拉出一個hotfix分支。
git checkout master
git checkout -b hotfix/fix_bug2 master

在解決掉問題后文狱,將該hotfix分支分別merge到develop分支和master分支粥鞋,并打出新的tag

git checkout master
git merge --no-ff hotfix/fix_bug2
git tag -a 0.2.1
git checkout develop
git merge --no-ff hotfix/fix_bug2

后面再出現(xiàn)bug也按照同樣的流程處理。

  1. 回到develop分支重復(fù)上面的流程瞄崇。

整個GitFLow的大致流程大概就是這樣呻粹。
在工作中采用這套流程一段時間后壕曼,個人體會,這是一套非车茸牵科學(xué)腮郊,規(guī)范的流程。嚴格遵守流程進行項目的開發(fā)筹燕,可以在項目管理上省下不少心思轧飞。

至于在操作中可能出現(xiàn)的沖突等問題,已經(jīng)不是GitFlow需要解決的問題撒踪,更多應(yīng)該去看官方文檔过咬。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市糠涛,隨后出現(xiàn)的幾起案子援奢,更是在濱河造成了極大的恐慌,老刑警劉巖忍捡,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件集漾,死亡現(xiàn)場離奇詭異,居然都是意外死亡砸脊,警方通過查閱死者的電腦和手機具篇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凌埂,“玉大人驱显,你說我怎么就攤上這事⊥ィ” “怎么了埃疫?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長孩哑。 經(jīng)常有香客問我栓霜,道長,這世上最難降的妖魔是什么横蜒? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任胳蛮,我火速辦了婚禮,結(jié)果婚禮上丛晌,老公的妹妹穿的比我還像新娘仅炊。我一直安慰自己,他們只是感情好澎蛛,可當(dāng)我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布抚垄。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪督勺。 梳的紋絲不亂的頭發(fā)上渠羞,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天斤贰,我揣著相機與錄音智哀,去河邊找鬼。 笑死荧恍,一個胖子當(dāng)著我的面吹牛瓷叫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播送巡,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼摹菠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了骗爆?” 一聲冷哼從身側(cè)響起次氨,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎摘投,沒想到半個月后煮寡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡犀呼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年幸撕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片外臂。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡坐儿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出宋光,到底是詐尸還是另有隱情貌矿,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布罪佳,位于F島的核電站逛漫,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏菇民。R本人自食惡果不足惜尽楔,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望第练。 院中可真熱鬧阔馋,春花似錦、人聲如沸娇掏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽婴梧。三九已至下梢,卻和暖如春客蹋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背孽江。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工讶坯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人岗屏。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓辆琅,卻偏偏與公主長得像,于是被迫代替她去往敵國和親这刷。 傳聞我的和親對象是個殘疾皇子婉烟,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,781評論 2 354

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

  • 代碼管理是整個項目管理周期中重要的一環(huán),而代碼管理是始終圍繞版本發(fā)布流程而制定的暇屋,今天討論的Gitflow就是一種...
    wanderingGuy閱讀 1,034評論 1 5
  • GitFlow + Gitlab 工作流及規(guī)范 一似袁、 git 命令及配置 1.Git ssh 與 gitLab配置...
    allenhai閱讀 2,572評論 0 0
  • Git 規(guī)范 所有使用了本規(guī)范的項目,必須嚴格規(guī)范操作咐刨,否則不予以合并代碼昙衅、提測、打包上線等后續(xù)操作所宰。 基本要求 ...
    zgsddzwj閱讀 13,606評論 1 14
  • 多種多樣的工作流使得在項目中實施Git時變得難以選擇绒尊。這份教程提供了一個出發(fā)點,調(diào)查企業(yè)團隊最常見的Git工作流仔粥。...
    JSErik閱讀 4,403評論 2 8
  • 什么是GitFlow? Git Flow定義了一個項目發(fā)布的分支模型婴谱,為管理具有預(yù)定發(fā)布周期的大型項目提供了一個健...
    一天大佬閱讀 12,664評論 0 5