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

如何实现升级package.json版本并通过gh release创建对应GitHub发布标签

实现版本升级+GitHub发布的一键命令

直接写个bash脚本就能搞定,支持传入patch/minor/major参数指定升级类型,同时自动创建GitHub发布。

脚本代码(release.sh)

#!/bin/bash

# 校验输入参数是否合法
if [[ "$1" != "patch" && "$1" != "minor" && "$1" != "major" ]]; then
  echo "请传入合法的版本升级类型:patch/minor/major"
  exit 1
fi

# 执行npm版本升级,禁用git自动打标签
NEW_VERSION=$(npm version "$1" --git-tag-version false)
# 移除版本号前的v前缀
NEW_VERSION=${NEW_VERSION#v}

# 提交版本变更并推送至远程仓库
git add package.json package-lock.json
git commit -m "chore: bump version to $NEW_VERSION"
git push

# 创建GitHub发布
gh release create "v$NEW_VERSION" --title "Release v$NEW_VERSION" --notes "版本升级类型:$1"

脚本说明

  • 先检查输入参数是否为合法的升级类型,不合法直接提示退出
  • npm version加--git-tag-version false是为了避免npm自动创建标签,后续用gh统一处理标签和发布
  • 获取新版本号并移除前缀v,确保后续创建标签时格式统一
  • 提交版本文件变更并推送到远程,保证仓库代码同步
  • 调用gh release create创建发布,标签用v+版本号的格式,标题和备注可根据需求修改

gh release create 常用选项(中文翻译)

  • <tag>: 必填项,指定发布的标签名称,例如v1.2.3
  • --title <string>: 设置发布的标题
  • --notes <string>: 填写发布的备注内容
  • --notes-file <file>: 从指定文件中读取备注内容(适合长备注)
  • --draft: 将发布设为草稿状态,不对外公开
  • --prerelease: 将发布标记为预发布版本
  • --target <branch>: 指定发布对应代码的分支,默认使用当前分支的HEAD

使用方法

  1. 将上述脚本保存为release.sh,放在项目根目录
  2. 给脚本添加执行权限:
    chmod +x release.sh
    
  3. 执行脚本完成升级和发布:
    • 补丁版本升级:./release.sh patch
    • 功能版本升级:./release.sh minor
    • 大版本升级:./release.sh major

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 04:42:53