【每课】git 分支说明


(Frederic Chan) #1

everyclass-server:
feature/xxx(需求开发分支)
所有本地开发工作在这里进行。开发完成后 merge(或者 pull request)到 develop 分支

当你希望发布一版代码进入测试环境(https://testing.everyclass.xyz,通常用于验证魔改之后代码能否正常运行,我们可以通过手动回放一些流量来验证)进行测试时,你不用合并代码到某个分支,只需把当前 commit 打上格式为 ^v\d+\.\d+\.\d+_testing$ (即类似于v1.2.3_testing的格式)的版本号 tag,然后 push 到服务器上。系统会自动对 testing 环境的版本进行滚动升级。请在发布 testing 前确定其他人是否在使用 testing 环境。

develop(开发主干分支)
当你希望将自己的代码合并到主干分支上,你应该联系项目负责人 review 代码。在负责人 review 代码后,将代码合并到这个分支。

当 develop 分支中的 commit 积累了一定量后,可以发行新版。项目负责人打上符合正则 ^v\d+\.\d+\.\d+$ (即类似于v1.2.3的格式)的 tag,然后 push 到服务器,同时在论坛的每课板块中写好更新日志。系统会在单元测试、覆盖率统计等步骤执行完后会进行 Docker 镜像的构建,并把镜像上传到私有的 Docker Registry,最后对 staging 环境的版本进行滚动升级(staging 即正式环境前的预演环境,网址为 https://staging.everyclass.xyz

master(生产环境稳定分支)
staging 环境的测试结果表明这一版本无问题之后,项目负责人手动将代码合并到 master,并在容器服务的后台手动升级生产环境的版本。

everyclass-Spider-NG:

  • 目前开发进度较快,先随意一点