Git工作流指南

序言

Git不僅僅是個版本控制系統,它也是個內容管理系統(CMS)逆济,工作管理系統等酌予。如果你是一個具有使用SVN背景的人,你需要做一定的思想轉換奖慌,來適應GIT提供的一些概念和特征抛虫。Git工作流有各式各樣的用法,但也正因此使得在實際工作中如何上手使用變得很頭大简僧。這篇指南通過總覽最常用的幾種Git工作流讓大家可以學習借鑒建椰。在閱讀的過程中請記住,工作流是作為方案指導而不是條例規(guī)定岛马。在展示了各種工作流可能的用法后棉姐,你可以從不同的工作流中挑選或揉合出一個滿足你自己需求的工作流屠列。

集中式工作流

如果你的開發(fā)團隊成員已經很熟悉Subversion,集中式工作流讓你無需去適應一個全新流程就可以體驗Git帶來的收益伞矩。這個工作流也可以作為向更Git風格工作流遷移的友好過渡笛洛。


功能分支工作流

功能分支工作流以集中式工作流為基礎,不同的是為各個新功能分配一個專門的分支來開發(fā)乃坤。一旦你玩轉了集中式工作流苛让,在開發(fā)過程中可以很簡單地加上功能分支,用來鼓勵開發(fā)者之間協作和簡化交流湿诊。這樣可以在把新功能集成到正式項目前狱杰,用Pull Requests的方式討論變更。


功能分支工作流背后的核心思路是所有的功能開發(fā)應該在一個專門的分支厅须,而不是在master分支上仿畸。這個隔離可以方便多個開發(fā)者在各自的功能上開發(fā)而不會弄亂主干代碼。另外朗和,也保證了master分支的代碼一定不會是有問題的错沽,極大有利于集成環(huán)境。
功能開發(fā)隔離也讓pull requests工作流成功可能眶拉,pull requests工作流能為每個分支發(fā)起一個討論甥捺,在分支合入正式項目之前,給其它開發(fā)者有表示贊同的機會镀层。另外,如果你在功能開發(fā)中有問題卡住了皿曲,可以開一個pull requests來向同學們征求建議唱逢。這些做法的重點就是,pull requests讓團隊成員之間互相評論工作變成非常方便屋休!

Pull Request工作流

Pull Requests是gitlab上方便開發(fā)者之間協作的功能坞古。提供了一個用戶友好的Web界面,在集成提交的變更到正式項目前可以對變更進行討論劫樟。


開發(fā)者向團隊成員通知功能開發(fā)已經完成痪枫,Pull Requests是最簡單的用法。開發(fā)者完成功能開發(fā)后叠艳,通過gitlab賬號發(fā)起一個Pull Request奶陈。這樣讓涉及這個功能的所有人知道,要去做Code Review附较,bug fixed和合并到master分支吃粒。但是,Pull Request遠不止一個簡單的通知拒课,而是為討論提交的功能的一個專門論壇徐勃。如果變更有任何問題事示,團隊成員反饋在Pull Request中,甚至push新的提交微調功能僻肖。所有的這些活動都直接跟蹤在Pull Request中肖爵。

Gitflow工作流

Gitflow工作流通過為功能開發(fā)、發(fā)布準備和維護分配獨立的分支臀脏,讓發(fā)布迭代過程更流暢劝堪。嚴格的分支模型也為大型項目提供了一些非常必要的結構。


Gitflow工作流定義了一個圍繞項目發(fā)布的嚴格分支模型谁榜。雖然比功能分支工作流復雜幾分幅聘,但提供了用于一個健壯的用于管理大型項目的框架,窃植,尤其適合敏捷開發(fā)管理模式帝蒿。


Gitflow工作流沒有用超出功能分支工作流的概念和命令,而是為不同的分支分配一個很明確的角色巷怜,并定義分支之間如何和什么時候進行交互葛超。除了使用功能分支,在做準備延塑、維護和記錄發(fā)布也使用各自的分支绣张。當然你可以用上功能分支工作流所有的好處:Pull Requests、隔離實驗性開發(fā)和更高效的協作关带。

Forking工作流

Forking工作流是分布式工作流侥涵,充分利用了Git在分支和克隆上的優(yōu)勢∷纬可以安全可靠地管理大團隊的開發(fā)者(developer)芜飘,并能接受不信任貢獻者(contributor)的提交。


Forking工作流和前面討論的幾種工作流有根本的不同磨总。這種工作流不是使用單個服務端倉庫作為『中央』代碼基線嗦明,而讓各個開發(fā)者都有一個服務端倉庫。這意味著各個代碼貢獻者有2個Git倉庫而不是1個:一個本地私有的蚪燕,另一個服務端公開的娶牌。Forking工作流的一個主要優(yōu)勢是,貢獻的代碼可以被集成馆纳,而不需要所有人都能push代碼到僅有的中央倉庫中诗良。開發(fā)者push到自己的服務端倉庫,而只有項目維護者才能push到正式倉庫鲁驶。這樣項目維護者可以接受任何開發(fā)者的提交累榜,但無需給他正式代碼庫的寫權限。效果就是一個分布式的工作流,能為大型壹罚、自發(fā)性的團隊(包括了不受信的第三方)提供靈活的方式來安全的協作葛作。也讓這個工作流成為開源項目的理想工作流。

參考文獻:
1猖凛、Git工作流指南
2赂蠢、Comparing Workflows

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市辨泳,隨后出現的幾起案子虱岂,更是在濱河造成了極大的恐慌,老刑警劉巖菠红,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件第岖,死亡現場離奇詭異,居然都是意外死亡试溯,警方通過查閱死者的電腦和手機蔑滓,發(fā)現死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來遇绞,“玉大人键袱,你說我怎么就攤上這事∧∶觯” “怎么了蹄咖?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長付鹿。 經常有香客問我澜汤,道長,這世上最難降的妖魔是什么舵匾? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任银亲,我火速辦了婚禮,結果婚禮上纽匙,老公的妹妹穿的比我還像新娘。我一直安慰自己拍谐,他們只是感情好烛缔,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著轩拨,像睡著了一般践瓷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上亡蓉,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天晕翠,我揣著相機與錄音,去河邊找鬼。 笑死淋肾,一個胖子當著我的面吹牛硫麻,可吹牛的內容都是我干的。 我是一名探鬼主播樊卓,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼拿愧,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了碌尔?” 一聲冷哼從身側響起浇辜,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎唾戚,沒想到半個月后柳洋,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡叹坦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年熊镣,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片立由。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡轧钓,死狀恐怖,靈堂內的尸體忽然破棺而出锐膜,到底是詐尸還是另有隱情毕箍,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布道盏,位于F島的核電站而柑,受9級特大地震影響,放射性物質發(fā)生泄漏荷逞。R本人自食惡果不足惜媒咳,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望种远。 院中可真熱鬧涩澡,春花似錦、人聲如沸坠敷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽膝迎。三九已至粥帚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間限次,已是汗流浹背芒涡。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人费尽。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓赠群,卻偏偏與公主長得像,于是被迫代替她去往敵國和親依啰。 傳聞我的和親對象是個殘疾皇子乎串,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內容

  • Paste_Image.png]](http://blog.jobbole.com/76861/) Forking...
    yohn閱讀 375評論 0 0
  • 多種多樣的工作流使得在項目中實施Git時變得難以選擇。這份教程提供了一個出發(fā)點速警,調查企業(yè)團隊最常見的Git工作流叹誉。...
    JSErik閱讀 4,372評論 2 8
  • 原文鏈接:Git Workflows and Tutorials 譯文發(fā)在博樂在線:http://blog.job...
    LH_晴閱讀 350評論 0 0
  • 三十多年過去了,我已經走了很久闷旧。過往的人和事都化為塵煙长豁,我究竟要走到何處去?我不停地思考忙灼,行走的意義在哪里匠襟?是經歷...
    介愚閱讀 146評論 0 1
  • 我班長是一個很浪的人,他從初三(除了高一)起就是我班長该园。他長的不錯酸舍,歐式深邃眼,濃眉里初,翹臀啃勉,細腰,就是太黑了双妨。...
    冰不冰心閱讀 3,818評論 0 0