Skip to main content

分支与部署

权威源:CLAUDE.md §7docs/aiAssistant/branch_divergence_audit_2026-05.md

三分支现状

分支角色部署目标状态
mainCI 锚点 + docs 构建无部署事实废弃(落后 dev 近 200 commit,无人维护)
dev活跃开发线dev Cloud Run(reelchair-12b9apush 自动触发 deploy-dev.yml
pro生产线prod Cloud Run(termina-ffde8push 自动触发 deploy-prod.yml
不要基于 main 工作

main 已停摆。接手开发统一从 dev 出发。也不要直接在 pro 上提交——pro 只接收来自 dev 的 merge。

开发流程

# 1. 从 dev 创工作分支
git checkout dev && git pull
git checkout -b feat/<name>

# 2. 提交、推送
git add . && git commit -m "feat: ..."
git push -u origin feat/<name>

# 3. PR → dev;合并后 deploy-dev.yml 自动部署到 dev 环境

# 4. 验收 dev 后,合并 dev → pro
git checkout pro && git pull
git merge dev
git push origin pro # 自动触发 deploy-prod.yml

分支与 commit 命名

  • 分支:feat/<name>fix/<name>refactor/<name>docs/<name>chore/<name>
  • Commit 前缀:feat:fix:refactor:docs:chore:perf:style: 等。一个 commit 只做一件事

CI(ci.yml

  • 触发:push 到 dev / pro / main / feat/* / fix/* / refactor/* / docs/* / chore/* 等;PR 到 dev / main / pro
  • 步骤:build → lint → test → build all。
  • Lint 会真实执行 root pnpm lintpnpm lint:naming命名约定)阻断、i18n 警告。
  • 注意:import 级 api-only 闸门尚未接入 CI(TER-111 后续),存量直引需 baseline-ratchet 处理。

生产部署(deploy-prod.yml

并行四个 job:

  1. 前端 → Firebase Hosting
  2. 后端 → Cloud Run(reelchair-backendus-central1
  3. Functions + Firestore rules → Firebase
  4. Gateway 配置 seed(后端部署完成后运行)
两个 Firebase 项目并存

firebase deploy 必须带 --project,否则会误部署到 dev(.firebaserc:default=dev=reelchair-12b9a,prod=termina-ffde8)。