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)