diff --git a/docs/git-branching.md b/docs/git-branching.md index c9995e0..d504c35 100644 --- a/docs/git-branching.md +++ b/docs/git-branching.md @@ -148,7 +148,7 @@ main ──────────────── E ──────── | 分支 | 状态 | 处理 | |---|---|---| -| `main` | `meta.Version` = 下一个未发布中版本(现为 `1.3.0`,与核心 main 同步) | ✅ 保持 | +| `main` | `meta.Version` = 下一个未发布中版本(现为 **`1.2.0`**)——SDK **不跟 beta 发版**(§七.2),1.2.0 要等核心的**正式** tag 才定版(§七.3),在那之前路牌不得越过它。此阶段与核心 main(`1.3.0`)**故意不对称**,详见 §七.4 | ✅ 保持 | | `release/v1.1.x` | `meta.Version` = `1.1.0`,承载 tag `v1.1.0` | ✅ 与核心对应 | | `release/v1.2.x` | **尚未创建** | ⏳ 随核心**正式** tag 一起建(§七.3:分支上把版本定为 `1.2.0` 再打 `v1.2.0`;beta 阶段不发 SDK) | | `release/v1.0.0` | 旧 patch 号命名形态,内容已被 main 完全包含 | 📦 保留(供追溯 1.0 线构建) | @@ -313,3 +313,15 @@ git branch -d release/v1.0.x # tag 已保存历史, 两仓的 `main` 都遵守 §2.1:`meta.Version` 是**下一个未发布中版本**。 所以在 1.1.x 线发布期间,两仓 main 上的值都是 `1.2.0`——它标记「main 正在积攒 1.2 的东西」, 而不是「1.2.0 已经存在」。已发布的版本号一律看对应 `release/vX.Y.x` 分支与 tag。 + +**但声两仓「同步推进」是有条件的**(这一点曾导致误判,现补写清楚): +推进的前提是**该中版本已经正式发布过**。具体到当前: + +- 核心:切出 `release/v1.2.x` 后,1.2.0 就归发布线所有,main 立即推进到 `1.3.0`; + **即使 1.2.0 目前只有 beta tag**(beta 不上现网,但发布线已占住这个号)。 +- SDK:因为 §七.2 **beta 不发 SDK**,SDK 1.2.0 要等核心的**正式** tag 才定版、 + 建 `release/v1.2.x`、打 `v1.2.0`(§七.3)。在那之前,SDK 的「下一个未发布中版本」 + 仍然是 `1.2.0`,其 main 不得越过它。 + +→ 因此在这一阶段,**核心 main = `1.3.0` 而 SDK main = `1.2.0` 是正确的**, +不是遗漏同步。(曾按本节的例子把 SDK main 也推到 1.3.0,等于宣称 SDK 1.2.0 已发布。)