zoukankan      html  css  js  c++  java
  • 使用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分支代码部署线上环境。

  • 相关阅读:
    UVA 1515 Pool construction 最大流跑最小割
    BZOJ 1060: [ZJOI2007]时态同步 树形DP
    Codeforces Round #282 (Div. 1)B. Obsessive String KMP+DP
    BZOJ 4027: [HEOI2015]兔子与樱花 贪心
    BZOJ 2435: [Noi2011]道路修建 dfs搜图
    HDU 5297 Y sequence 容斥/迭代
    HDU 5296 Annoying problem dfs序 lca set
    HDU 5289 Assignment RMQ
    343D/Codeforces Round #200 (Div. 1) D. Water Tree dfs序+数据结构
    php mysqli扩展库之预处理操作
  • 原文地址:https://www.cnblogs.com/breg/p/3453423.html
Copyright © 2011-2022 走看看