赞
踩
存在一条主分支(master)。所有用户可见的正式版本,都从master发布。主分支作为稳定的唯一代码库,不做任何开发使用。
拉取源 | 合并目标 | 修改 | 生命期 |
---|---|---|---|
无需 | 无需 | 不允许 | 持续 |
存在一条开发分支(develop)。这个分支维护了当前开发中代码的主线,始终保持代码新于master。持续集成、最新隔夜版本的生成等都是基于这个分支。由于当前版本迭代较快,开发分支只提供拉取,不进行实际开发。
拉取源 | 合并目标 | 修改 | 生命期 |
---|---|---|---|
master | 无需 | 不允许 | 持续 |
临时性多个功能分支(feature)。从develop拉取。开发feature完成,merge回develop。为了降低对其他feature的影响,一般在提测前merge回develop分支。
拉取源 | 合并目标 | 修改 | 生命期 |
---|---|---|---|
develop | develop | 允许 | 合并后删除 |
功能分支的名字,可以采用feature-*
的形式命名。
创建一个功能分支:
git chechout -b feature-x develop
开发完成后,将功能分支合并到develop分支:
git checkout develop
git merge --no-ff feature-x
删除feature分支:
git branch -d feature-x
临时性多个预发布(测试)分支(release),用于QA测试。从develop拉取,测试完成merge回master和develop。如果测试期间,有其他版本合并入master,需要同步到release版本,并进行测试。
拉取源 | 合并目标 | 修改 | 生命期 |
---|---|---|---|
develop | master & develop | 允许 | 合并后删除 |
创建一个预发布分支:
git checkout -b release-1.2 develop
确认没有问题后,合并master分支:
git checkout master
git merge --no-ff release-1.2
对合并生成的新节点,做一个标签
git tag -a 1.2
再合并到develop分支:
git checkout deveop
git merge --no-ff release-1.2
最后,删除预发布分支:
git branch -d release-1.2
临时性多个bug修复分支(fixbug),用于修复线上问题。从master拉取,修复并测试完成merge回master和develop。如果修复期间,有其他版本合并入master ,需要同步到fixbug版本,并进行测试。
拉取源 | 合并目标 | 修改 | 生命期 |
---|---|---|---|
master | master & develop | 允许 | 合并后删除 |
创建一个修补bug分支:
git checkout -b fixbug-0.1 master
修补结束后,合并到master分支:
git checkout master
git merge --no-ff fixbug-0.1
git tag -a 0.1.1
再合并到develop分支
git checkout develop
git merge --no-ff -fixbug-0.1
最后删除 修补bug 分支
git branch -d fixbug-0.1
资料来源
https://www.cnblogs.com/charlesblc/p/6051569.html
http://www.ruanyifeng.com/blog/2012/07/git.html
https://blog.csdn.net/weixin_38809962/article/details/79814308
【推荐】https://www.codercto.com/a/80259.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。