← 返回知识库

新版本发布后又变回旧版,怎么查清并避免?

先把它当作“发布来源或回退流程不清楚”来排查,不要马上再发布一次。核对生产环境当前版本、部署记录里的提交号、这次发布使用的分支和构建产物;常见原因是从旧分支或旧提交重新部署、自动部署覆盖手动发布、发布任务仍在运行,或有意回滚却没有记录。之后固定一条发布路线:从指定主分支创建短期功能分支;改完提交并合并;发布时记录不可变的提交号和构建版本;发布后核对生产版本确实对应这个提交。已共享的提交需要撤销时,优先用 git revert 生成一条反向提交,不要随意重写公共分支历史。回滚也要作为一次正式发布记录原因、目标版本和验证结果。

先把它当作“发布来源或回退流程不清楚”来排查,不要马上再发布一次。核对生产环境当前版本、部署记录里的提交号、这次发布使用的分支和构建产物;常见原因是从旧分支或旧提交重新部署、自动部署覆盖手动发布、发布任务仍在运行,或有意回滚却没有记录。之后固定一条发布路线:从指定主分支创建短期功能分支;改完提交并合并;发布时记录不可变的提交号和构建版本;发布后核对生产版本确实对应这个提交。已共享的提交需要撤销时,优先用 git revert 生成一条反向提交,不要随意重写公共分支历史。回滚也要作为一次正式发布记录原因、目标版本和验证结果。

举个例子

发现线上退回旧版时,先记下“现在看到的生产版本号、预期提交号、部署记录、发布时间”,再检查是否有后续部署覆盖它。确认原因后,从正确提交重新构建或恢复,并用页面/接口实际验证;不要仅凭本地代码或“部署成功”提示判断线上已更新。

来源与延伸资料

接下来,你可能想知道