Git Flow工作流总结

作者: web_zhoua | 来源:发表于2020-03-06 01:15 被阅读0次

    就像代码需要代码规范一样,代码管理同样需要一个清晰的流程和规范,git flow制定了一个比较规范的分支管理和版本发布方案。Git flow的优点是清晰可控,缺点是相对复杂,需要同时维护两个长期分支(主分支master和开发分支develop)。

    开局一张图

    image

    简单概括

    master 生产主分支,发布到生产环境使用这个分支,由hotfix或者release分支合并过来,不直接提交代码。

    develop 主开发分支 , 基于master分支克隆,由feature分支合并过来,一般不直接提交代码。

    feature 功能开发分支 , 基于develop分支克隆 , 主要用于新需求新功能的开发,同时存在多个。

    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 .完成Release

    # 代码发布后合并到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电脑使用方法。

    安装并把git代码拖到下图中

    image
    点击git工作流使用git-flow初始化项目
    image
    初始化完成后在点击git工作流创建分支
    image
    一系列操作提交代码上传分支后点击git工作流 ->完成功能->确定即可,SourceTree会自动帮你合并分支删除分支
    image
    image
    其他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插件

    image

    安装完后Ctrl+Shift+P:打开命令面板。在打开的输入框内gitflow命令,使用git-flow初始化项目后就可以用了。


    image
    image

    相关文章

      网友评论

        本文标题:Git Flow工作流总结

        本文链接:https://www.haomeiwen.com/subject/vjssrhtx.html