Git Flow 的使用(工作流)
git的三大特征之一:工作流
普通的git提交


使用下面的git ?folw的工作流,來解決這個(gè)問題--------來看下面的git ?flow吧。
Git Folw 的概念:
前言:
WorkFlow是OA系統(tǒng)中必不可少的模塊,并且在以后的大多數(shù)的工作中,都會(huì)用到工作流模式的開發(fā)。關(guān)于這方面的開發(fā),我第一次接觸到的是關(guān)于釘釘里的氚云功能,感覺還是做的相當(dāng)不錯(cuò),用戶只需要拖動(dòng)控件,然后配置數(shù)據(jù)庫(kù),就會(huì)形成對(duì)應(yīng)的工作流,并不需要大量的代碼編寫。
在使用Git的過程中如果沒有清晰流程和規(guī)劃,否則,每個(gè)人都提交一堆雜亂無章的commit,項(xiàng)目很快就會(huì)變得難以協(xié)調(diào)和維護(hù)。Git版本管理同樣需要一個(gè)清晰的流程和規(guī)范。
Vincent Driessen 為了解決這個(gè)問題提出的:一個(gè)成功的git 分支案例 https://nvie.com/posts/a-successful-git-branching-model/
以下是基于Vincent Driessen提出的Git Flow 流程圖:

Production 分支
也就是我們經(jīng)常使用的Master分支,這個(gè)分支最近發(fā)布到生產(chǎn)環(huán)境的代碼,最近發(fā)布的Release, 這個(gè)分支只能從其他分支合并,不能在這個(gè)分支直接修改
Develop 分支
這個(gè)分支是我們是我們的主開發(fā)分支,包含所有要發(fā)布到下一個(gè)Release的代碼,這個(gè)主要合并與其他分支,比如Feature分支
Feature 分支
這個(gè)分支主要是用來開發(fā)一個(gè)新的功能,一旦開發(fā)完成,我們合并回Develop分支進(jìn)入下一個(gè)Release
Release分支
當(dāng)你需要一個(gè)發(fā)布一個(gè)新Release的時(shí)候,我們基于Develop分支創(chuàng)建一個(gè)Release分支,完成Release后,我們合并到Master和Develop分支
Hotfix分支
當(dāng)我們?cè)赑roduction發(fā)現(xiàn)新的Bug時(shí)候,我們需要?jiǎng)?chuàng)建一個(gè)Hotfix, 完成Hotfix后,我們合并回Master和Develop分支,所以Hotfix的改動(dòng)會(huì)進(jìn)入下一個(gè)Release

Git Flow如何使用:
Master/Devlop分支
所有在Master分支上的Commit應(yīng)該打上Tag,一般情況下Master不存在Commit,Devlop分支基于Master分支創(chuàng)建

Featrue 分支
Feature分支做完后,必須合并回Develop分支, 合并完分支后一般會(huì)刪除這個(gè)Feature分支,畢竟保留下來意義也不大。

Release 分支
Release分支基于Develop分支創(chuàng)建,打完Release分支之后,我們可以在這個(gè)Release分支上測(cè)試,修改Bug等。同時(shí),其它開發(fā)人員可以基于Develop分支新建Feature (記住:一旦打了Release分支之后不要從Develop分支上合并新的改動(dòng)到Release分支)發(fā)布Release分支時(shí),合并Release到Master和Develop, 同時(shí)在Master分支上打個(gè)Tag記住Release版本號(hào),然后可以刪除Release分支了。

Hotfix 分支
hotfix分支基于Master分支創(chuàng)建,開發(fā)完后需要合并回Master和Develop分支,同時(shí)在Master上打一個(gè)tag。


git的其他特性有需要的話,我后面的文章也會(huì)一起分享,謝謝大家的支持,點(diǎn)贊,轉(zhuǎn)發(fā)下。

公眾號(hào)


微信號(hào)
