2
开发指南 4 开发流程
SkyLiCoder edited this page 2026-04-14 02:10:24 +00:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

开发流程

本文介绍子模块开发的标准流程,包括分支管理、代码提交、推送和 Pull Request。

开发规范

注意:为保证良好的开发体验,确保 IDE 正确识别项目结构,请以子模块(子仓库)目录作为工作空间根目录打开,而非主仓库根目录。

Git 工作流

  • 跟进最新代码:功能分支使用 git rebase main 保持线性历史
  • 合并策略:PR 合并采用 merge 方式,保留历史分支轨迹
  • 分支清理:合并后删除已合并的分支

创建新分支

根据你要修改的目标,选择在对应仓库创建分支:

  • 修改子模块(modules/chassis 或 modules/gimbal):
    cd modules/chassis                        # 进入子模块目录
    git checkout -b feature/your-feature-name
    
  • 修改主仓库(配置、文档等):
    git checkout -b feature/your-feature-name  # 在主仓库根目录执行
    

在子模块中开发

进入子模块目录:

cd modules/chassis   # 或 cd modules/gimbal

创建子模块分支并开发:

git checkout -b feature/your-feature-name
# ... 进行开发,编写代码 ...
git add .
git commit -m "前缀: 描述你的改动" [-m "第一行" -m "第二行"]
# 多行内容推荐直接使用:
git commit

推荐 commit message 格式:

<类型>: <简短描述>

[可选的详细说明]

常用类型:

类型 含义
feat 新功能
fix 修复 bug
docs 文档改动
style 代码格式(不影响功能)
refactor 重构(不是修复也不是新功能)
perf 性能优化
test 添加/修改测试
chore 构建/工具变动

示例:

feat: 添加云台视觉识别模块

- 集成 YOLOv8 模型推理
- 实现目标框坐标解算

子模块和主仓库的 commit 均遵循此格式。

保持子模块代码最新

开发子模块时,每次开始工作前建议使用 rebase 拉取最新代码:

cd modules/chassis   # 或 modules/gimbal
git checkout main
git pull origin main
git checkout feature/your-feature-name
git rebase main      # 保持线性历史

或在主仓库一次性更新所有子模块到各自主分支的最新提交:

git submodule update --remote --recursive

注意:--remote 默认更新到各子模块的 main 分支。如果子模块有其他开发分支(如 dev),需要先在子模块内切换到对应分支,再单独 git pull。

提交主仓库(仅在需要时)

重要提示:

主仓库中记录的是子模块当前指向的提交指针。请不要频繁提交这类更新——每次子模块有新提交就提 PR 会造成大量噪音。

只在以下情况才提交主仓库的子模块指针更新:

  • 子模块有重大版本更新
  • 需要同步所有成员的子模块状态
  • release 准备阶段

提交主仓库:

cd auto-aim-mobile-bot
git add modules/chassis modules/gimbal
git commit -m "chore: 更新子模块到最新版本"

推送分支

推送子模块(如在子模块中开发):

推送前请先确保你当前处于子模块目录内:

cd modules/chassis        # 或 modules/gimbal
git push -u origin feature/your-feature-name

注意:子模块的远程是独立的,push 操作不影响主仓库。推送后去对应的子模块仓库页面创建 PR。

推送主仓库分支:

在主仓库根目录执行:

git push -u origin feature/your-feature-name

提 Pull Request

  1. 在 Gitea 上打开对应的仓库页面
  2. 点击 创建 Pull Request(或 Compare & pull request)
  3. 选择:
    • base branch:合并目标分支(如 main)
    • compare branch:你的开发分支(如 feature/your-feature-name)
  4. 填写 PR 标题和描述,说明改动内容和目的
  5. 指定 Project(项目)
  6. 点击 创建 Pull Request

Review 通过后合并

  • PR 通过 Review 后,点击 Merge
  • 合并后删除已合并的分支(保持仓库整洁)

下一页

开发指南-5-子模块更新