代码托管服务提供基于Git的在线代码管理服务,包括代码克隆/提交、分支管理等功能。
由于门店网络查询功能为高优先级Story,本章节将以此功能为例进行介绍如何进行源代码管理与开发。
本样例项目中采用分支来进行代码的开发。首先由开发人员Chris在代码仓库中创建分支,并进行代码开发;然后开发人员Chris在代码仓库中提交分支合并请求,项目经理Maggie评审通过后合并分支至主干。
使用分支管理代码
分支是用来将特性开发并行独立出来的工具。使用分支意味着把工作从开发主线上分离开来,以免影响开发主线。
在创建代码仓库时,会有一个默认分支“master”,即主线。为了保证凤凰商城的稳定运行,需要有一个稳定的持续可用master。因此,项目经理建议:不直接在master分支上进行代码开发,而是统一采用功能分支+合并请求的方式,并且每一个功能分支的代码,必须经过团队的其他成员评审后,才可以进行合并。
步骤 1 将master分支设置为受保护分支。
- 进入“凤凰商城”项目,单击导航“代码 > 代码托管”,页面将显示样例项目内置的代码仓库“phoenix-sample”。
- 单击仓库名称进入代码仓库,选择“设置”页签。在导航中单击“策略设置 > 保护分支”。
- 单击“新建保护分支”,参照下表在弹框中完成配置,单击“确定”保存。
新建保护分支配置
配置项 | 配置建议 |
---|---|
选择需要保护的分支 | 选择“master”。 |
能推送 | 根据需要配置,本文档中保持默认配置。 |
能合并 | 根据需要配置,本文档中保持默认配置。 |
成员 | 根据需要勾选“能推送”、“能合并”,并在下拉列表中选择成员。本文档中保持默认配置。 |
步骤 2 创建功能分支。
- 进入“凤凰商城”项目,在代码托管页面中找到仓库“phoenix-sample”。
- 单击仓库名称进入代码仓库,在“代码”页签中单击“分支”。
- 单击“新建”,参照下表输入分支信息,单击“确定”保存。
新建分支
配置项 | 配置建议 |
---|---|
基于 | 选择“master”。 |
分支名称 | 输入“Feature-Store”。 |
关联工作项 | 选择“作为用户可以查询所有门店网络”。 |
修改、提交代码
在迭代规划时将门店查询功能分解为前端展示与后台管理两个task,本节以Task“前端展示 - 添加门店网络菜单”介绍如何使用修改与提交代码。
步骤 1 单击导航“工作”,选择“迭代”页签。
在迭代4中找到Task“前端展示 - 添加门店网络菜单”,将Task的状态修改为“进行中”。
步骤 2 单击导航“代码 > 代码托管”,找到仓库“phoenix-sample”。
步骤 3 单击仓库名称进入代码仓库,选择“代码”页签。
步骤 4 单击文件列表上方的“master”,在下拉列表中选择分支“Feature-Store”。
步骤 5 在文件列表中找到“vote/templates/store-network.html”并打开。
步骤 6 单击,根据需求规划添加门店地址,并在页面底部文本框中输入备注信息“添加门店列表”,单击“确定”。
<ul>
<li>A分店:E机场1号航站楼出发层靠右直行123米右侧</li>
<li>B分店:F区G路456号</li>
<li>C分店:H区J街789号</li>
<li>D分店:K区L大道K大楼西侧</li>
</ul>
步骤 7 以同样方法打开并编辑“/vote/templates/index.html”。
在179行添加菜单“门店网络”,输入提交信息“fix #xxxxxx 前端展示 - 添加门店网络菜单”,单击“确定”。
其中“#xxxxxx”是Task“前端展示 - 添加门店网络菜单”的编号,在工作项列表中获取,实践中修改为实际Task的编号。
<li class="nav-item"> <a href="store-network" class="nav-link">门店网络</a> </li>
步骤 8 单击导航“工作 > 迭代”,在迭代4中找到Task“前端展示 - 添加门店网络菜单”。
- 单击Task名称,在详情页中可看到状态自动变为“已解决”。
- 选择“关联”页签,在“代码提交记录”下可看到一条记录,记录的描述与上一步中输入的提交信息相同。
检视代码、合并分支
步骤 1 开发人员发起合并请求。
开发人员Chris完成代码开发,确认无误后,即可发起合并请求,将功能分支合并到master中。
- 进入代码仓库,选择“合并请求”页签,单击“新建”。
- 源分支选择“Feature-Store”,目标分支选择“master”,单击“下一步”。
- 参照下表编辑合并请求详情。
合并请求配置
配置项 | 配置建议 |
---|---|
标题 | 输入“添加门店网络列表”。 |
合并人 | 单击,在弹框中勾选“Maggie”,单击“确定”。 |
审核人 | 单击,在弹框中勾选“Maggie”,单击“确定”。 |
4.单击“新建合并请求”完成合并请求的创建。
步骤 2 项目经理评审并完成代码合入。
本文档中,合并请求的评审人与合并人均是项目经理Maggie。因此Maggie可评审合并请求内容,并在评审通过后完成分支合入。
- 进入代码仓库后,选择“合并请求”页签,可找到由开发人员Chris创建的合并请求。
- 单击该请求,查看合并请求详情。
- 可在页面中留下评审意见。。
- 单击“合入”,将分支合入“master”。
说明若发起分支合并请求时勾选了“合并后删除源分支”,分支“Feature-Store”将在分支合并完成后被删除。