GitFlow工作流和git命令你看不懂?

在這裏插入圖片描述
先放一個gitflow的流程圖:

  1. Master分支,這個分支最近發佈到生產環境的代碼,最近發佈的Release(新功能), 這個分支只能從其他分支合併,不能在這個分支直接修改,該分支代表着線上最新代碼。
  2. Develop 分支,這個分支是我們的主開發分支,包含所有要發佈到下一個Release的代碼,這個主要合併與其他分支,比如Feature分支,所有要發佈的功能完成後將該分支合併到Master分支上線
  3. Feature 分支,這個分支主要是用來開發新的功能,開發完成合並回Develop分支
  4. Release分支,測試分支,當你需要盡心新功能測試的時候,合併完Feature 分支到Develop 分支後,我們基於Develop分支創建一個Release分支,完成Release後,我們合併到Develop分支
  5. Hotfix分支,在Master發現新的Bug時候(也就意味着線上代碼出現緊急bug,不能等到下個版本修復和新的Feature 分支一起開發修復),我們需要創建一個Hotfix, 完成Hotfix後,我們合併回Master緊急發佈修復版本,同事合併到Develop分支保持後續Release分支開發的完整性

其實有經驗的大概看這些就能理解大概的工作流了,至於具體的比如Feature 分支之間的合作,Feature 分支和Develop 分支合併的合作,Release分支和Develop 分支合併的合作具體細節大家可以再去了解一下其他文章。

然後是這些流程中常用的git操作:

  • 創建develop分支
	git branch develop  //創建本地分支
	git push -u origin develop    //推送本地分支到遠程,創建遠程新分支
  • 開始新Feature開發
	git checkout -b new-feature develop //new-feature爲新分支名字
  • 完成Feature
git pull origin develop  //拉取遠程develop更新
git checkout develop  //本地切換到develop
git merge --no-ff new-feature  //本地合併new-feature到develop
git push origin develop

git branch -d some-feature   //本地刪除new-feature
  • 開始Relase
git checkout -b release-0.1.0 develop 

  • 完成Release
git checkout master //合併到master,更新遠程,用於上線
git merge --no-ff release-0.1.0
git push

git checkout develop //合併到develop ,更新遠程,用於後續開發完整性
git merge --no-ff release-0.1.0
git push

git branch -d release-0.1.0

git tag -a v0.1.0 master //打上標籤
git push --tags
  • 開始Hotfix
git checkout -b hotfix-0.1.1 master    
  • 完成Hotfix
git checkout master //合併到master,更新遠程,用於上線緊急修復
git merge --no-ff hotfix-0.1.1
git push


git checkout develop  //合併到develop ,更新遠程,用於後續開發完整性
git merge --no-ff hotfix-0.1.1
git push

git branch -d hotfix-0.1.1

git tag -a v0.1.1 master //打上標籤
git push --tags
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章