远端仓库此前只有 v0.0.9、v0.1.0 两个 tag,早于 0.0.9 的版本没有任何标记, 既无法从仓库直接看出"某个版本对应哪段代码",也无法按版本回滚 / 比对。 用户要求:把 v0.0.1 ~ v0.0.8 也补上 tag,让版本线从首次发布起就完整。
v0.0.9
v0.1.0
v1.0.0
bbb3ec5
c04a9a2
versionName
以 上架更新说明-*.md 里逐版本列出的提交清单为准(不是看提交信息), 反查每个上架包的最终状态,逐个定位:
上架更新说明-*.md
76d8288
165740f
8b5519b
32162b8
d0b8720
b83ce83
cd24012
da0249d
ed26da8
942f71b
全部用 annotated tag(带版本号 / 交付状态 / 内容摘要),并推送到远端。
git ls-remote --tags
^{}
git log --oneline v0.0.8..v0.0.9
2f124ea
c711cdb
按 versionName 切段 + 上架更新说明-*.md 的 commit 清单交叉校准,8 个 tag 全部指向 该版本交付物的最终状态:
68329c5
2b29f19
$ git ls-remote --tags origin | wc -l 20 # 10 个 tag × (tag 对象 + ^{} 解引用) ⇒ 全 annotated $ git ls-remote --tags origin | grep -vc '\^{}' 10 $ git rev-list --left-right --count origin/master...master 0 0
区间自检(相邻 tag 之间应恰好是该版本的实际增量,无重叠无遗漏):
v0.0.8..v0.0.9
v0.0.9..v0.1.0
v0.1.0..master
63b1a75
v1.0.0 未创建(模板默认值,非真实发布)。
versionName / versionCode / 是否单独上架 / 本版主要内容摘要。 0.0.6 的注释额外标注了 2b29f19 不在本 tag 范围内及原因,避免以后误判。
versionCode
No dependencies set.
The note is not visible to the blocked user.
现象 / 诉求
远端仓库此前只有
v0.0.9、v0.1.0两个 tag,早于 0.0.9 的版本没有任何标记,既无法从仓库直接看出"某个版本对应哪段代码",也无法按版本回滚 / 比对。
用户要求:把 v0.0.1 ~ v0.0.8 也补上 tag,让版本线从首次发布起就完整。
关键难点(决定 tag 不能随便打)
多个版本在版本号 bump 之后还有功能 / 修复提交,它们都进了同一个上架包。若打在 bump 提交上,
tag 就会漏掉真实交付内容。
其内容全部包含在 0.0.6 中」)。tag 消息必须如实标注,不能写成"已发布"。
v1.0.0是模板默认值(bbb3ec5/c04a9a2的versionName),不是真实发布,不得打 tag。做法
以
上架更新说明-*.md里逐版本列出的提交清单为准(不是看提交信息),反查每个上架包的最终状态,逐个定位:
76d8288165740f8b5519b32162b8d0b8720+b83ce83+ 32162b8」;未单独上架cd24012da0249dda0249d为 08:30ed26da8942f71b全部用 annotated tag(带版本号 / 交付状态 / 内容摘要),并推送到远端。
验收标准
git ls-remote --tags能看到 v0.0.1 ~ v0.1.0 共 10 个 tag,且都是 annotated(有^{}行)。git log --oneline v0.0.8..v0.0.9只剩2f124ea、c711cdb。v1.0.0。已完成并验证
最终 tag 位置
按
versionName切段 +上架更新说明-*.md的 commit 清单交叉校准,8 个 tag 全部指向该版本交付物的最终状态:
76d8288165740f8b5519b32162b8cd24012da0249ded26da8942f71b过程中修正的两个判断错误
68329c5(该 versionCode 段的最后一次提交)——错。0.0.6 的上架包是 10-10 08:50 打的,而
2b29f19(12:49 后台同步重构)和68329c5(10-11 README)都在其后,没有打进这个包。⇒ tag 只能是
da0249d;后台重构实际属于 0.0.7 的交付内容。判据是发布说明里的打包时间戳,不是 git 分段边界。
2f124ea—— 那已经是 0.0.9 待发版的工作。发布说明「0.0.8 最终版」三项收尾的最后一项是
942f71b(包于 10-16 19:36 打出)。验证结果
区间自检(相邻 tag 之间应恰好是该版本的实际增量,无重叠无遗漏):
v0.0.8..v0.0.9→ 只剩2f124ea(镜像全选)、c711cdb(版本号)✓v0.0.9..v0.1.0→ 7 个:颜色修复之后的全部 0.1.0 内容 ✓v0.1.0..master→ 只有63b1a75(README)✓v1.0.0未创建(模板默认值,非真实发布)。每个 tag 的注释都写明了
versionName/versionCode/ 是否单独上架 / 本版主要内容摘要。0.0.6 的注释额外标注了
2b29f19不在本 tag 范围内及原因,避免以后误判。