Git工作流指南(一)

集中式工作流

集中式工作流

使用Git加強開發(fā)的工作流却妨,比SVN有幾個優(yōu)勢:

  1. 每個開發(fā)可以有屬于自己的整個工程的本地拷貝华临。隔離的環(huán)境讓各個開發(fā)者的工作和項目的其他部分(修改)獨立開來 —— 即自由地提交到自己的本地倉庫铃拇,先完全忽略上游的開發(fā)铆隘,直到方便的時候再把修改反饋上去又沾。
  2. Git提供了強壯的分支和合并模型。不像SVN归露,Git的分支設計成可以做為一種用來在倉庫之間集成代碼和分享修改的『失敗安全』的機制洲脂。
  • 集中式工作流以中央倉庫(master)作為項目所有修改的單點實體。
  • 如果開發(fā)者本地的提交歷史和中央倉庫有分歧剧包,Git會拒絕push提交否則會覆蓋已經(jīng)在中央庫的正式提交恐锦。
  • 在開發(fā)者提交自己功能修改到中央庫前,需要先fetch在中央庫的新增提交疆液,rebase自己提交到中央庫提交歷史之上一铅。

功能分支工作流

功能分支示意圖

功能分支工作流背后的核心思路是所有的功能開發(fā)應該在一個專門的分支,而不是在master分支上堕油。這個隔離可以方便多個開發(fā)者在各自的功能上開發(fā)而不會弄亂主干代碼潘飘。另外,也保證了master分支的代碼一定不會是有問題的馍迄,極大有利于集成環(huán)境福也。

  • 功能分支工作流仍然用中央倉庫局骤,并且master分支還是代表了正式項目的歷史攀圈。\
  • 功能分支可以進行隔離開發(fā),確保不會干擾主干代碼峦甩,極大有利于集成環(huán)境赘来。
  • 功能分支可以實現(xiàn)pull request,使在修改主干代碼前能夠?qū)崿F(xiàn)code review凯傲。
  • pull request還可以事實現(xiàn)分支討論與交流犬辰。

Gitflow工作流

Gitflow工作流定義了一個圍繞項目發(fā)布的嚴格分支模型。雖然比功能分支工作流復雜幾分冰单,但提供了用于一個健壯的用于管理大型項目的框架幌缝。

工作方式

Gitflow工作流仍然用中央倉庫作為所有開發(fā)者的交互中心。和其它的工作流一樣诫欠,開發(fā)者在本地工作并push
分支到要中央倉庫中涵卵。

歷史分支

相對使用僅有的一個master分支浴栽,Gitflow工作流使用2個分支來記錄項目的歷史。master分支存儲了正式發(fā)布的歷史轿偎,而develop分支作為功能的集成分支典鸡。這樣也方便master分支上的所有提交分配一個版本號。

功能分支

每個新功能位于一個自己的分支坏晦,這樣可以push到中央倉庫以備份和協(xié)作萝玷。但功能分支不是從master分支上拉出新分支,而是使用develop分支作為父分支昆婿。當新功能完成時球碉,合并回develop分支。新功能提交應該從不直接與master分支交互挖诸。

發(fā)布分支


一旦develop分支上有了做一次發(fā)布(或者說快到了既定的發(fā)布日)的足夠功能汁尺,就從develop分支上fork一個發(fā)布分支。新建的分支用于開始發(fā)布循環(huán)多律,所以從這個時間點開始之后新的功能不能再加到這個分支上 —— 這個分支只應該做Bug修復痴突、文檔生成和其它面向發(fā)布任務。一旦對外發(fā)布的工作都完成了狼荞,發(fā)布分支合并到master分支并分配一個版本號打好Tag辽装。另外,這些從新建發(fā)布分支以來的做的修改要合并回develop分支相味。

使用一個用于發(fā)布準備的專門分支拾积,使得一個團隊可以在完善當前的發(fā)布版本的同時,另一個團隊可以繼續(xù)開發(fā)下個版本的功能丰涉。
這也打造定義良好的開發(fā)階段(比如拓巧,可以很輕松地說,『這周我們要做準備發(fā)布版本4.0』一死,并且在倉庫的目錄結(jié)構中可以實際看到)肛度。
常用的分支約定:

用于新建發(fā)布分支的分支: develop
用于合并的分支: master
分支命名: release-* 或 release/*

維護分支

維護分支或說是熱修復(hotfix)分支用于生成快速給產(chǎn)品發(fā)布版本(production releases)打補丁,這是唯一可以直接從master分支fork出來的分支投慈。修復完成承耿,修改應該馬上合并回master分支和develop分支(當前的發(fā)布分支),master分支應該用新的版本號打好Tag伪煤。

為Bug修復使用專門分支加袋,讓團隊可以處理掉問題而不用打斷其它工作或是等待下一個發(fā)布循環(huán)。你可以把維護分支想成是一個直接在master分支上處理的臨時發(fā)布抱既。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末职烧,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蚀之,老刑警劉巖跋理,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異恬总,居然都是意外死亡前普,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進店門壹堰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拭卿,“玉大人,你說我怎么就攤上這事贱纠【瘢” “怎么了?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵谆焊,是天一觀的道長惠桃。 經(jīng)常有香客問我,道長辖试,這世上最難降的妖魔是什么辜王? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮罐孝,結(jié)果婚禮上呐馆,老公的妹妹穿的比我還像新娘。我一直安慰自己莲兢,他們只是感情好汹来,可當我...
    茶點故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著改艇,像睡著了一般收班。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谒兄,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天摔桦,我揣著相機與錄音,去河邊找鬼舵变。 笑死酣溃,一個胖子當著我的面吹牛瘦穆,可吹牛的內(nèi)容都是我干的纪隙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼扛或,長吁一口氣:“原來是場噩夢啊……” “哼绵咱!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起熙兔,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤悲伶,失蹤者是張志新(化名)和其女友劉穎艾恼,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體麸锉,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡钠绍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了花沉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柳爽。...
    茶點故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖碱屁,靈堂內(nèi)的尸體忽然破棺而出磷脯,到底是詐尸還是另有隱情,我是刑警寧澤娩脾,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布赵誓,位于F島的核電站,受9級特大地震影響柿赊,放射性物質(zhì)發(fā)生泄漏俩功。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一碰声、第九天 我趴在偏房一處隱蔽的房頂上張望绑雄。 院中可真熱鬧,春花似錦奥邮、人聲如沸万牺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽脚粟。三九已至,卻和暖如春蘸朋,著一層夾襖步出監(jiān)牢的瞬間核无,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工藕坯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留团南,地道東北人。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓炼彪,卻偏偏與公主長得像吐根,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子辐马,可洞房花燭夜當晚...
    茶點故事閱讀 45,066評論 2 355

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