什么是共建分支?

共建分支是指多个开发者在同一个特性分支上协作开发,通常用于大型功能开发或复杂问题修复,需要多人共同完成。

共建分支工作流程

1. 创建共建分支

# 负责人创建共建分支

git checkout develop

git pull origin develop

git checkout -b feat/shared-feature

 

# 推送分支到远程

git push -u origin feat/shared-feature

2. 邀请协作者加入

通知团队成员共建分支名称:feat/shared-feature

3. 开发者加入共建分支

# 获取远程分支信息

git fetch origin

 

# 切换到共建分支

git checkout feat/shared-feature

 

# 确保分支最新

git pull origin feat/shared-feature

协作开发规范

1. 频繁同步代码

# 每天开始工作前

git pull origin feat/shared-feature

 

# 开发过程中定期同步

git pull --rebase origin feat/shared-feature

 

# 推送代码前确保同步

git pull --rebase origin feat/shared-feature

git push origin feat/shared-feature

2. 提交规范

# 小步提交,频繁推送

git add <修改的文件>

git commit -m "feat: 添加用户列表组件 - 张三"

 

# 使用--author标识贡献者(可选)

git commit -m "feat: 实现搜索功能" --author="李四 <lisi@email.com>"

3. 模块化分工建议

将功能拆分为相对独立的模块,减少冲突:

  • 开发者A:负责前端组件开发
  • 开发者B:负责后端API开发
  • 开发者C:负责数据库设计和测试

冲突预防与解决

1. 预防冲突策略

# 频繁拉取更新

git config --global pull.rebase true

 

# 在专用区域开发

# 开发者A负责src/components/user/

# 开发者B负责src/api/user/

2. 冲突解决流程

# 当遇到冲突时

git pull --rebase origin feat/shared-feature

 

# 手动解决冲突文件

# 使用编辑器解决标记为<<<<<<<, =======, >>>>>>>的区域

 

# 标记冲突已解决

git add <冲突文件>

 

# 继续rebase

git rebase --continue

 

# 推送解决后的代码

git push origin feat/shared-feature

代码质量保障

1. 实时沟通机制

  • 使用Slack/Teams等即时通讯工具创建频道
  • 定期同步进度(每日站会)
  • 使用代码注释标注待完成事项

2. 代码审查安排

# 即使在同一分支也要互相审查

# 使用GitHub/GitLabReview功能

 

# 审查后合并

git pull origin feat/shared-feature

git checkout feat/review-branch

git merge feat/shared-feature

实用脚本和工具

1. 状态检查脚本

创建 check_branch_status.sh

#!/bin/bash

echo "当前分支: $(git branch --show-current)"

echo "与远程的差异:"

git log origin/feat/shared-feature..feat/shared-feature --oneline

echo "等待推送的提交:"

git log feat/shared-feature..origin/feat/shared-feature --oneline

2. 自动化同步脚本

创建 sync_branch.sh

#!/bin/bash

git fetch origin

git rebase origin/feat/shared-feature

git push origin feat/shared-feature

最佳实践

1. 工作流程建议

  1. 小批量提交:每次提交只解决一个问题
  2. 频繁同步:每小时至少同步一次远程分支
  3. 及时沟通:遇到问题立即与协作者沟通
  4. 模块清晰:明确分工,减少代码重叠

2. 沟通规范

  • 提交信息中标注开发者标识
  • 使用TODO注释标注未完成工作
  • 定期同步进度和遇到的问题

常见问题处理

1. 分支污染处理

# 当分支历史混乱时

git checkout feat/shared-feature

git fetch origin

git reset --hard origin/feat/shared-feature

 

# 重新应用本地更改(谨慎使用)

git stash

git pull --rebase origin feat/shared-feature

git stash pop

2. 紧急修复流程

# 如果有人提交了破坏性代码

git revert <错误提交的哈希值>

git push origin feat/shared-feature

材料: 

材料一:C应用开发:代码下载&编译&调试指导&上库指导

以7885仓库中applications_settings应用 

(https://gitee.com/cooperation-team-7885/applications_settings)为例

1、代码下载

git clone https://gitee.com/cooperation-team-7885/applications_settings.git

 

 

2、编译

在deveco studio中打开项目,点击左上角Build—Build Hap(s)/App(s)—Build Hap和App都可以编译,编译完成后会生成build文件夹(在build-profile.json5中查看modules字段,根据srcPath找到build文件夹)

 

 

3、调试

目前有两种方式调试,一种是修改完代码后热启动,另一种是编译打包替换hap

第一种:修改完代码保存后,点击右上角设备名称旁边绿色三角符号直接启动。(适用于部分app)

第二种:打开根目录applications_settings/shell(没有shell目录可以去其他应用中复制过来),根据当前应用修改图中路径执行install.bat脚本(适用于所有app)

4、上库

提交代码需关联需求单或缺陷单,commit信息根据规范填写

(单号: 缺陷单地址和描述(eg:#IB3IP3:******)

描述: 缺陷单/需求单描述

问题原因:问题原因描述

解决方案:解决方案描述

是否完成变成规范自检: Y

是否编译且验证通过: Y

影响的设备与平台范围: laphone、 oriole和7885

团队: H)(红色部分为必填)

 

提交推送完之后会生成pull request,找到刚才提交生成的pull request,在评论区贴上自验证截图后,找仓库负责人+1合并。

材料二:

  1. 权限开通流程指导

    提供邮箱地址并联系cmo---叶向前 (尚月超), 

您的邮箱会收到一条加入企业的邀请,请点击同意邀请。

  1. gitee空间操作指导(需求、问题单)

新建需求、问题单路径:https://e.gitee.com/kunyuan-hongke/issues/table

新建需求如图:

  1. 点击新建需求
  2. 填写需求信息,点击新建按钮即可。

新建问题单如图(请添加与问题单相关的附件):

  1.点击新建缺陷

  2.填写缺陷相关的信息,并添加与问题单相关的附件,点击新建按钮即可

C. weekly版本自验证流程

 出周版本时,cmo会在群里发布信息例如:

  1. 请自行下载网盘分享的内容,并烧录相关版本镜像
  2. 在本版本上验证自己负责的需求及问题单,并把验证结果及时的填写在上述自验证文档中并注明是否转测试(如上:https://kdocs.cn/l/crxbYApsrlVc
    sheet:B1203 缺陷自验证
    sheet:B1203 P0自验证)

    如有未通过的需求及问题单及时联系cmo澄清具体原因

  1. 填写完之后cmo会更新需求及问题单状态,请持续关注需求及问题单状态直至关闭为止
Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐