release-it
是一个强大的版本发布工具,可以自动化处理版本号更新、变更日志生成和 Git 标签创建。
快速开始
1. 安装依赖
npm install release-it @release-it/conventional-changelog -D
2. 配置 package.json
{ "scripts": { "release": "release-it" }, "release-it": { "git": { "commitMessage": "chore(release): v${version}", "tagName": "v${version}" }, "plugins": { "@release-it/conventional-changelog": { "preset": "angular", "infile": "CHANGELOG.md" } } } }
Git 提交规范
使用 Angular 提交信息规范:
<type>(<scope>): <subject>
常用类型
-
feat
: 新功能 -
fix
: Bug 修复 -
docs
: 文档变更 -
style
: 代码格式 -
refactor
: 代码重构 -
test
: 测试 -
chore
: 构建工具
示例
git commit -m "feat(auth): add user login" git commit -m "fix(api): resolve parsing issue" git commit -m "docs: update README"
使用方法
日常提交
git add . git commit -m "feat(components): add button component" git push
发布版本
npm run release
release-it 会自动:
- 分析提交历史,确定版本类型
- 更新 package.json 中的版本号
- 生成/更新 CHANGELOG.md
- 创建发布提交和标签
- 推送到远程仓库
配置说明
{ "git": { "commitMessage": "chore(release): v${version}", // 发布提交信息 "tagName": "v${version}" // Git 标签格式 }, "plugins": { "@release-it/conventional-changelog": { "preset": "angular", // 使用 Angular 规范 "infile": "CHANGELOG.md" // 变更日志文件 } } }
高级用法
手动指定版本
npx release-it patch # 1.0.0 -> 1.0.1 npx release-it minor # 1.0.0 -> 1.1.0 npx release-it major # 1.0.0 -> 2.0.0
预发布版本
npx release-it --preRelease=alpha # 1.0.0-alpha.0
干运行模式
npx release-it --dry-run
常见问题
Q: 如何跳过某些步骤?
npx release-it --no-git.push # 跳过推送 npx release-it --no-plugins # 跳过变更日志
Q: 如何自定义变更日志?
{ "plugins": { "@release-it/conventional-changelog": { "preset": { "name": "angular", "types": [ {"type": "feat", "section": "Features"}, {"type": "fix", "section": "Bug Fixes"}, {"type": "docs", "hidden": true} ] }, "infile": "CHANGELOG.md" } } }
总结
使用 release-it 的好处:
- 自动化: 减少手动操作
- 规范化: 强制遵循提交规范
- 透明化: 自动生成变更日志
- 简单: 一条命令完成发布
遵循规范的提交信息 + 自动化发布流程 = 高效的版本管理。
Top comments (0)