• 使用git进行代码管理


    站台服务器代码管理

    【管理工具】

    GIT

    【环境及对应分支】

    环境名称环境地址对应代码分支备注
    线上环境 /u01/web/xxxx/production master  
    测试环境 /u01/web/xxxx/sandbox release-* 例:release-0.9.2
    联调环境 /u01/web/xxxx/dev api-* 例:api-0.9.2.1
    本地开发环境 本地配置 api-*, backend-*  

    【各分支简介】

    分支名称分支地址是否动态分支作用
    master   线上代码,只接受release及hotfix分支的merge
    develop   开发分支主干,主要用于创建及合并各feature分支
    release-*   提测分支,阶段性开发完成后,由develop分支创建release分支用于测试
    hotfix-*   用于bugfix,快速检出master代码,修复后在测试并上线
    api-* (feature)   feture分支,用于接口功能的开发
    backend-* (feature)   feture分支,用于后台功能的开发

    【分支关系图】

    (引用自 http://nvie.com/posts/a-successful-git-branching-model/)

    【分支开发及上线流程】

    1,开发新feature:由develop分支创建feature分支,在feature分支进行开发,完成后merge回develop分支。流程如下:
    (1)创建新功能开发分支:

    • git checkout -b myfeature develop;

    (2)若为api feature开发,用api-*分支部署dev环境,进行与客户端的联调;
    (3)在myfeature分支开发、联调迭代n个版本后,达到提测标准;
    (4)合并到develop分支:

    • git checkout develop;
    • git merge –no-ff merge myfeature;同时解一些可能出现的conflict;
    • git push;

    (5)删除myfeature分支:

    • git branch -d myfeature;

    2,提测:由开发完成的develop分支创建release-*分支,进行测试及迭代,完成后merge到master和develop分支。流程如下:
    (1)创建测试分支:

    • git checkout -b release-* develop;

    (2)指定版本号;
    (3)n轮测试及迭代后达到上线标准;
    (4)合并到master分支,打tag:

    • git checkout master;
    • git merge –no-ff merge release-*;
    • git tag -a *;
    • git push;

    (5)合并回develop分支:

    • get checkout develop;
    • git merge –no-ff merge release-*;
    • git push;

    (6)删除release分支:

    • git branch -d release-*;

    3,bugfix:从线上分支master检出代码,修复后测试,完成后merge回master分支。流程如下:
    (1)创建hotfix分支:

    • git checkout -b hotfix-* master;

    (2)修复bug,并测试;
    (3)通过测试后,合并回master和develop分支:

    • git checkout master;
    • git merge hotfix-*;
    • git push;
    • git checkout develop;
    • git merge hotfix-*;
    • git push;

    (4)删除hotfix分支:

    • git branch -d hotfix;

    4,部署环境及上线:登录服务器,执行部署脚本,用相应分支的代码(或其编译出的binary)部署不同的环境。上线即用master分支代码部署线上环境。

  • 相关阅读:
    动态库的创建与使用
    静态库创建与链接
    tail命令使用
    hosts文件
    dns文件
    整数编码
    多线程之间同步
    多线程编程基础
    进程间通信——信号量
    进程间通信——管道
  • 原文地址:https://www.cnblogs.com/breg/p/3453423.html
Copyright © 2020-2023  润新知