Git Flow工做流總結

就像代碼須要代碼規範同樣,代碼管理一樣須要一個清晰的流程和規範,git flow制定了一個比較規範的分支管理和版本發佈方案。Git flow的優勢是清晰可控,缺點是相對複雜,須要同時維護兩個長期分支(主分支master和開發分支develop)。html

開局一張圖

簡單歸納

master 生產主分支,發佈到生產環境使用這個分支,由hotfix或者release分支合併過來,不直接提交代碼。git

develop 主開發分支 , 基於master分支克隆,由feature分支合併過來,通常不直接提交代碼。服務器

feature 功能開發分支 , 基於develop分支克隆 , 主要用於新需求新功能的開發,同時存在多個。app

release 預發佈分支 , 基於feature分支合併到develop以後 , 從develop分支克隆,測試完成後合併到master並打上版本號,同時也合併到develop。編輯器

hotfix 補丁分支 , 基於master分支克隆 , 主要用於對線上的版本進行BUG修復,完成後合併到master分支和develop分支。工具

舉例說明

  1. 從master分支上建立develop分支,並推送到遠端
git checkout –b develop
git push -u origin develop
  1. 開始 Feature
# feaeure分支基於develop建立
git checkout -b some-feature develop
# 或者, 推送至遠程服務器:
git push -u origin some-feature    

# 一波操做   
git status
git add .
git push
git commit
  1. 完成 Feature
# 切換develop分支
git checkout develop 
git pull origin develop

# 合併到develop分支並push
git merge --no-ff some-feature
git push origin develop

# 刪除feature分支
git branch -d some-feature
git push origin --delete some-feature

4 .開始 Release測試

# Release分支基於develop建立
git checkout -b some-release develop
# ...一系列操做後提交代碼和分支

5 .完成Releasespa

# 代碼發佈後合併到master分支並提交
git checkout master
git merge --no-ff some-release
git tag -a 0.1


# 合併到develop分支並提交
git checkout 
git merge --no-ff some-release

# 刪除release分支
git branch -d some-release
git push origin --delete some-release
  1. 開始 Hotfix
# Hotfix分支基於master建立
git checkout -b hotfix-0.1.1 master  
# ...一系列操做後提交代碼和分支
  1. 完成Hotfix
# 合併到master分支並提交
git checkout master
git merge --no-ff hotfix-0.1.1
git tag -a 0.1.1
# 合併到develop分支並提交
git checkout develop
git merge --no-ff hotfix-0.1.1
# 刪除hotfix分支
git branch -d hotfix-0.1
git push origin --delete  hotfix-0.1.1

Git flow工具

每次提交分支時都要切換合併刪除分支,不少命令,流程就是記不住,腫麼辦呢,固然有好用的工具能夠用~插件

SourceTree

window電腦使用方法。3d

安裝並把git代碼拖到下圖中

點擊git工做流使用git-flow初始化項目

初始化完成後在點擊git工做流建立分支

一系列操做提交代碼上傳分支後點擊git工做流 ->完成功能->肯定便可,SourceTree會自動幫你合併分支刪除分支


其餘release和hotfix一樣操做

mac版安裝使用基本沒什麼問題,command+control+f調出面板安裝和使用。

如下是window版本安裝使用過程當中遇到的問題

  1. 軟件安裝註冊問題,3.*版本的解決方法點擊我
  2. 安裝完成後,建立feature,release等時沒有前綴,解決方法
  • 在項目根目錄下找到 .git/config 文件
  • 找到 [gitflow "prefix"] 配置選項, 這時候看起來應該是這樣的:
[gitflow "prefix"]
    feature = 
    bugfix = 
    release = 
    hotfix = 
    support = 
    versiontag =
  • 修改配置選項爲:
[gitflow "prefix"]
    feature = feature/
    bugfix = bugfix/
    release = release/
    hotfix = hotfix/
    support = support/
    versiontag =

VSCode編輯器使用gitflow插件


安裝完後Ctrl+Shift+P:打開命令面板。在打開的輸入框內gitflow命令,使用git-flow初始化項目後就能夠用了。

相關文章
相關標籤/搜索