小程序线上版本 ↔ 代码提交 对照表

为什么要这张表:微信后台的版本号(3.6.0)只存在腾讯那边,

git 里没有任何地方记录「这一版是从哪个 commit 打的」。

⇒ 上传后没人能回答「线上那个 1.2.3 到底包含了哪些改动」。

这张表就是补这个缺口。


线上版本

线上版本号对应 commit上传时间包含什么
3.7.086d4174b(本机 HEAD 核对:工作树干净、behind 2 未拉的 fc5ab2b8/a19f2518 域模型不在包内)2026-10-23 23:3x(义父上传)见下
3.6.045334930(C 端最后一个改动提交)2026-10-08 21:20:58见下

3.7.0 实际包含什么(2026-10-23 23:3x 上传后核对)

上传打包的是工作树状态 = 本机 HEAD 86d4174b(工作树干净,behind 2 未拉的

fc5ab2b8/a19f2518 域模型是 23:00 后同事新提交,不在包内)。

commit内容
b27fac98扩散三层:首页内容流(content-feed 组件)+ 文章页转化尾(相关阅读+订阅)
ceb85a85文章页全面优化:导语/图注/meta 行/去伪目录/分享卡
9953d758修 guides.hook 误当文案(4 处)+ 8 篇导语补齐 + 语义守卫脚本
a600f30f联系条 inline/bar 两形态 flex 破版修复
a48b70caUI/UX 全量走查修复:文章页 HTML 守卫(6 篇裸标签事故)+ product-detail 底栏三行化(主 CTA 曾挤出屏外)+ selection 吸底条遮挡 + journey 空态出口 + 向导首字徽章 + passport 内部口径 + fleet-route 英文外抛 + 铜铃分类数据修正
148274cd文案删减(GPT6 审定):删引导套话 3 处缩操作规则 10 处,钱/凭证/核销留完整短句
2305757dFAQ 按页类目过滤:住宿问答不再错位出现在玩法页
52acfe7f客服拿号补挂剩余 3 处(f-concierge-bar 双按钮 + profile 统一 promptAfterChat),18 处客服入口全挂完
86d4174b文案复查:清 170 条死文案 + 护照宫格补八寺方位小字 + 空态改口 + local 页开发黑话清理

3.7.0 依赖提醒:

3.6.0 到底包含什么(逐文件 sha256 核过,不是猜的)

判据:C 端文件的 mtime 全部早于 21:20:58 ⇒ 打包时它们就是工作树里的当前内容。

再把工作树内容与各 commit 里的 blob 比 sha256:

文件mtime工作树 = commit属于
pages/item-detail/item-detail.ts19:44= 45334930修「模块读不到 / 全变到店选购」
detail-render/normalize.ts19:29= 8f539ede删编造兜底文案
pages/product-detail/product-detail.ts19:33= 8f539ede情报包不显示 1晚 / needsStay
pages/shop/shop.ts14:02= 48ea3915「到店选购」角标

⇒ 3.6.0 包含了今晚 12:00–19:48 的全部 C 端修复。

🔴 修正一条此前的错误推断:我曾按「提交时间 > 上传时间」推断「3.6.0 里应该没有今晚的修复」——

推错了。上传打包的是工作树当前状态,不是「某个 commit 的快照」;

只要文件在打包前已改好,就都在包里。判断依据是 mtime,不是 commit 时间。

3.6.0 不包含

内容commit时间说明
小程序版本号功能5299c22722:11晚于 21:20 ⇒ 要下次上传才生效

所以现在还不能在「我的」页看到 正式版 v3.6.0 —— 版本号功能自己还没上线。

怎么判断「某一版包含哪些改动」(下次上传时照着做)

两步骤,缺一不可:

① 看文件 mtime(决定「在不在包里」)

# macOS
stat -f '%Sm' -t '%Y-%m-%d %H:%M:%S' miniprogram-v3/pages/product-detail/product-detail.ts
# Linux
stat -c '%y' miniprogram-v3/pages/product-detail/product-detail.ts

mtime 早于上传时点 ⇒ 该文件在包里。

② 比 sha256(决定「等于哪个 commit」)

f=miniprogram-v3/pages/item-detail/item-detail.ts
shasum -a 256 "$f" | cut -c1-16                  # 工作树
git show HEAD:"$f" | shasum -a 256 | cut -c1-16# HEAD 里的同一文件

两个值一致 ⇒ 工作树还没被改动过;不一致则用 git log 逐个 commit 试。

🔴 别用 commit 时间倒推(我 22:19 踩过,推错了):

打包的是工作树当前状态,不是某个 commit 的快照;

commit 时间只说明「什么时候写进 git」,与包内容无关。


版本号会怎么显示

已加的 miniprogram-v3/utils/app-version.ts 读 wx.getAccountInfoSync().miniProgram:

环境envVersion页面显示
正式版release正式版 v3.6.0
体验版trial体验版 v3.6.0
开发者工具develop开发版(此环境不带版本号)
真机预览—取决于微信是否填号

🔴 这个号是微信标的,不是我们自填的 ⇒ 它一定等于真实在跑的包。

(自填版本号只能证明「我们希望它是这版」,不能证明它就是。)

位置:「我的」页底部,服务协议下方,20rpx 淡灰,点击可复制。


上线检查清单(下次上传时照着走)

🔴 两条纪律

  1. C 端改动只有「上传小程序」才上线,git push 与后端 deploy.sh 都改不到它。
  2. 版本号要填进微信后台——不填则正式版也可能拿不到号(页面上会显示「此环境不带版本号」)。