TWS 项目 Git 分支策略
分支模型
| main ──┬── v0.1 ── v0.2 ── v0.3 ── ...
│
└── develop ─────────────────
│
├── feat-firmware-ble
├── feat-firmware-anc
├── feat-hw-schematic
└── fix-xxx
|
分支说明
| 分支 | 用途 | 保护规则 |
main | 稳定发布版本 | PR 必须经过 review + CI 通过 |
develop | 日常开发集成分支 | 所有 feat-* 合入此分支 |
feat-* | 功能开发分支 | 从 develop 切出,完成后 PR → develop |
fix-* | Bug 修复分支 | 可从 develop 或 main 切出 |
refs/ | 外部参考代码(不参与构建) | 不合并 |
提交信息规范
| <type>(<scope>): <description>
类型:
feat — 新功能
fix — Bug 修复
docs — 文档更新
test — 测试补充/修改
chore — 构建/工具链/CI
refactor — 重构
hw — PCB/硬件设计变更
scope:
fw — firmware/
hw — pcb/ + docs/hardware/
test — tests/
docs — docs/ (非 hardware)
ci — .github/ + scripts/
task — tasks/
示例:
feat(fw): 实现 BLE GATT 电池服务
fix(hw): 修正麦克风偏置电路电容值
test(fw): 增加配对超时重试测试
docs(fw): 更新串口命令表
chore(ci): 添加 GitHub Actions 工作流
|
工作流
| # 1. 从 develop 创建功能分支
git checkout develop
git checkout -b feat-firmware-ble
# 2. 开发 + 提交
git add firmware/src/ble.c
git commit -m "feat(fw): 实现 BLE 广播和连接"
# 3. 同步 develop
git fetch origin
git rebase origin/develop
# 4. 推送并创建 PR
git push origin feat-firmware-ble
# 在 GitHub/Gitea 创建 PR → develop
# 5. 发布时合并到 main
git checkout main
git merge --no-ff develop
git tag v0.1.0
|
CI/CD 流水线
每次 push 到 main/develop/feat-* 自动运行: 1. ✅ make check — 固件语法检查 2. ✅ make run — 主机单元测试 3. ✅ Clang-format — 代码风格 4. ✅ Markdownlint — 文档格式 5. ✅ 任务文件有效性检查
推送指引
首次推送:
| # 创建 GitHub 仓库后
git remote add origin https://github.com/<user>/tws-earbuds.git
git push -u origin main
# 推送 develop 分支
git branch develop main
git push -u origin develop
|