集成Lerna规范提交时,如何跳过历史提交仅更新至5.2.1版本?
解决Lerna集成时重复生成历史变更日志的问题
要让Lerna仅从5.2.0版本开始分析提交、生成补丁版本更新,按以下步骤操作:
1. 确认版本基准与标签
- 检查项目根目录及所有子包的
package.json,确保版本号均为5.2.0 - 如果未给5.2.0版本打Git标签,先找到对应版本提交的哈希值(通过
git log查看),执行标签创建与推送:git tag v5.2.0 <对应提交哈希> git push origin v5.2.0
2. 执行带范围限制的Lerna版本更新
运行以下命令,强制Lerna只处理v5.2.0之后的提交,并生成补丁版本:
lerna version --conventional-commits --since v5.2.0 --yes
--since v5.2.0:限定仅分析该标签之后的提交,避免扫描全部历史记录--conventional-commits:基于规范提交信息生成变更日志条目--yes:自动确认所有操作(可选,省去手动确认步骤)
若需直接指定更新到5.2.1版本,可使用:
lerna version 5.2.1 --conventional-commits --since v5.2.0 --yes
3. 配置Lerna避免后续重复问题
在lerna.json中添加以下配置,让Lerna默认从最近发布版本开始分析:
{ "command": { "version": { "conventionalCommits": true, "changelogPreset": "angular" } } }
后续执行lerna version --conventional-commits时,Lerna会自动识别上一次发布版本,无需再手动指定范围。
4. 调整变更日志(按需)
Lerna会在现有changelog.md顶部新增5.2.1版本的条目,你的提交fix(styles): Automating the versioning using lerna.会被归类到Bug Fixes部分。如果手动维护的历史日志格式与Lerna生成的有差异,只需调整新增条目格式即可,不会覆盖已有历史内容。
内容的提问来源于stack exchange,提问作者Ram Krishna Kumar
相关产品推荐
相关产品推荐

