项目负责人建立dev分支供团队开发人员围绕它进行相关操做git
git branch dev
git push -u origin dev
复制代码
其余人clone,建立一个dev的轨迹版本github
git clone git@github.orgXXXXXXXX
git checkout -b dev origin/dev
复制代码
dev这个分支将包含项目的完整历史记录,而master仅包含缩略版本。web
1.新建feature分支bash
在dev基础上建立新分支:测试
git checkout -b feature/demo dev
复制代码
推到远程,(而后这部分新功能代码就提交到这个上)ui
git push
复制代码
全部开发此新功能的人员,都在这个分支上开发提交代码spa
git status
git add
git commit -m "Add some-file."
复制代码
2.完成新功能开发(合并feature分支到dev上去)3d
git pull origin dev
git checkout dev
git merge feature/demo
git push
git branch -d feature/demo
复制代码
注意code
3.测试环境发布dev分支代码(提交测试)cdn
(1)从dev中建立发布的release分支
当主测试流程完成,源码已经趋于稳定,准备一个发布版本(确立版本号),并推到远程
git checkout -b release-1.0 dev
git push
复制代码
这个分支是清理准备发布、 总体回归测试、 更新文档,和作其余任何系统即将发布的事情。
(2)开发交代码改bug
(3)release分支合并到master和dev
一旦已经知足发布条件(或已经到了预约发布日期),应该把release分支合并到master分支和dev分支中,而后,使用master发布新版本。合并release分支到dev分支是很重要的,要让release上修改的东西能在后续的开发分支中生效。
master
git checkout master
git merge release-1.0
git push
复制代码
dev
git checkout develop
git merge release-1.0
git push
git branch -d release-1.0
复制代码
(4)打标签
Release分支在功能开发分支(dev)和公共发布版(master)中,充当一个缓冲的做用。每当有源码合并到master中的时候,应该在master上打一个标签,以便后续跟踪查阅。
git tag -a 1.0.RELEASE -m "Initial public release" master
git push --tags
复制代码
当用户反馈系统有bug,需从master基础上建立并维护hotfix新分支,解决完在合并回master
(1)建立hotfix
git checkout -b issue-#001 master
复制代码
(2)修复
(3)完成后合并到master发布
git checkout master
git merge issue-#001
git push
复制代码
(4)打标签
(5)合并到dev
git checkout develop
git merge issue-#001
git push
复制代码
三.小结