您的位置:首页 > 编程语言

使用git进行代码管理

2013-12-02 10:05 330 查看
站台服务器代码管理

【管理工具】

GIT

【环境及对应分支】

环境名称环境地址对应代码分支备注
线上环境/u01/web/xxxx/productionmaster
测试环境/u01/web/xxxx/sandboxrelease-*例:release-0.9.2
联调环境/u01/web/xxxx/devapi-*例: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分支代码部署线上环境。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: