You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何撤销semantic-release发布的错误版本并重新发布正确版本?

修复semantic-release错误发布版本操作指南

不能仅通过删除Github上的错误版本完成撤包,该操作无法同步下架npm的已发版本,还会打乱semantic-release的版本对应关系,需按以下步骤完整操作:

步骤1:下架错误的次版本

  • npm端处理:
    若版本发布未超过72小时,执行命令直接撤包:npm unpublish <your-package-name>@<wrong-minor-version> --force
    若已超过72小时无法撤包,执行命令标记废弃:npm deprecate <your-package-name>@<wrong-minor-version> "该版本包含未声明的破坏性变更,已废弃,请升级至最新主版本"
  • Github端处理:
    先删除远程错误标签:git push origin :v<wrong-minor-version>
    再进入Github仓库的Releases页面,找到对应错误版本的发布记录,手动删除即可。

步骤2:触发正确的主版本发布

推荐使用无历史修改的空提交方式,不会影响仓库正常状态和其他协作者的使用:

  1. 在本地主分支执行命令提交空提交,携带breaking change标识:
git commit --allow-empty -m "chore: 发布正确主版本

BREAKING CHANGE: 此前提交的<具体破坏性变更内容>属于不兼容更新,本次作为主版本正式发布"
  1. 将该提交推送到远程主分支,CI触发semantic-release后会自动识别到breaking change标识,生成正确的主版本号并同时发布到Github和npm。

注意事项

  • 全程不要修改已推送到远程主分支的已有提交历史,避免协作者拉取代码时出现冲突
  • 若已有用户安装了错误的次版本,建议在主版本的更新日志、README中补充废弃提醒,降低用户踩坑概率
  • 后续提交破坏性变更时,可在提交标题末尾加!标识(比如feat!: 重构请求参数结构),配合提交正文的BREAKING CHANGE脚注双重校验,避免漏标。

内容的提问来源于stack exchange,提问作者Carven

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 02:45:01