用途:为仓库创建发布版本,主要方式是在 main 分支上按日历版本号打 Git 标签;若仓库已配置 git-flow(存在 develop 分支且执行过 git flow init),可选走 git-flow 流程。
版本格式:标签前缀 v,形如 vYYYY.MM.DD.N,例如 v2026.02.04.1;N 为当天发布序号,从 1 开始,同日多次发布逐次递增。确定版本时先取当天日期(today=$(date +%Y.%m.%d)),再用 git tag --list "v${today}.*" 查已有标签,无则 N=1,有则递增。
基于标签的流程:确定版本并准备简短发布说明后,如需提交则执行 git add -A 与 git commit -m "chore: prepare release vYYYY.MM.DD.N";接着创建附注标签 git tag -a vYYYY.MM.DD.N -m "Release vYYYY.MM.DD.N";最后推送 git push origin main --tags。若用户要求且环境有 gh,可执行 gh release create vYYYY.MM.DD.N --generate-notes 创建 GitHub Release。
git-flow(可选):仅在已配置 git-flow 时使用。开始为 git flow release start YYYY.MM.DD.N;结束时为避免 macOS/BSD 下 -m 参数导致 getopt 报错,先用 git flow release finish -n YYYY.MM.DD.N,再 git switch main 并手动打标签 git tag -a vYYYY.MM.DD.N -m "Release vYYYY.MM.DD.N";推送 git push origin develop 与 git push origin main --tags。
前置条件:所有改动已提交(git status 工作区干净),处于目标分支(默认 main,除非用户另行指定)。该仓库没有强制的 lint/test 命令,不要运行 Node/bun/turbo 检查。沟通使用日语,提交信息与标签信息使用英语。
完成后报告:发布的版本号、创建的标签名、标签已推送的确认,以及(如创建)GitHub Release 已发布。
错误处理:无提交导致打标签失败时先创建初始提交;未安装 git flow 时告知用户并建议安装;git flow release finish 出现合并冲突时停止并报告冲突详情;推送失败时检查远端状态并报告问题。