当前位置: 首页 > news >正文

终极指南:poetry-dynamic-versioning让Git标签自动生成版本号

终极指南:poetry-dynamic-versioning让Git标签自动生成版本号

【免费下载链接】poetry-dynamic-versioningPlugin for Poetry to enable dynamic versioning based on VCS tags项目地址: https://gitcode.com/gh_mirrors/po/poetry-dynamic-versioning

poetry-dynamic-versioning是一款为Poetry打造的插件,能够基于版本控制系统(VCS)中的标签自动生成动态版本号,彻底告别手动管理版本号的繁琐流程。无论是开发迭代还是发布部署,它都能让版本管理变得简单高效。

📦 快速安装:三步开启动态版本之旅

1. 基础安装命令

通过Poetry安装插件的核心功能:

poetry add poetry-dynamic-versioning[plugin]

2. 旧版本Poetry适配方案

如果使用的是Poetry 2.0.0之前的版本,需根据安装方式选择对应命令:

  • Pipx安装的Poetry
    pipx inject poetry "poetry-dynamic-versioning[plugin]"

3. 验证安装

安装完成后,可通过查看帮助信息确认插件是否加载成功:

poetry dynamic-versioning --help

⚙️ 极简配置:5分钟完成项目集成

基础配置模板

在项目根目录的pyproject.toml中添加以下配置:

[tool.poetry-dynamic-versioning] enable = true

核心配置项解析

配置项说明示例值
enable启用动态版本控制true
vcs指定版本控制系统git
style版本号格式风格pep440

高级自定义

如需自定义版本号生成规则或文件替换模式,可添加扩展配置:

[tool.poetry-dynamic-versioning.substitutions] "__version__ = .*" = "__version__ = \"{version}\""

🚀 实用场景:让版本管理自动化

1. Git标签驱动版本

创建Git标签后自动生成对应版本号:

git tag v1.2.3 poetry build # 自动使用v1.2.3作为版本号

2. 开发环境版本标识

未打标签时自动生成开发版本号,如1.2.3.dev4+g1234abc,清晰标识开发进度。

3. 多环境版本控制

通过环境变量临时切换版本生成模式:

POETRY_DYNAMIC_VERSIONING_STYLE=semver poetry publish

📝 常见问题与解决方案

版本号不更新?

检查Git标签是否正确创建并推送,或执行以下命令强制刷新:

poetry dynamic-versioning --reset

与其他工具冲突?

pyproject.toml中添加命令限制,仅在构建和发布时启用动态版本:

[tool.poetry-dynamic-versioning] commands = ["build", "publish"]

📚 扩展资源

  • 完整配置文档:项目根目录下的README.md
  • 插件源码poetry_dynamic_versioning/plugin.py
  • 测试用例tests/test_integration.py

通过poetry-dynamic-versioning,你可以将版本管理的精力完全投入到代码开发中,让Git标签成为版本控制的唯一真相源。立即尝试,体验自动化版本管理的便捷!

【免费下载链接】poetry-dynamic-versioningPlugin for Poetry to enable dynamic versioning based on VCS tags项目地址: https://gitcode.com/gh_mirrors/po/poetry-dynamic-versioning

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1390810/

相关文章:

  • 为什么我的Minecraft动画总卡在“素材地狱“?这个Blender插件一次解决材质、模型、动画三大难题
  • ReAct框架:从算法概念到工程契约的面试实战解析
  • 揭秘重庆网站建设索q479185700背后的真相与建议与误区
  • 2026健身房收银系统开发公司全维度盘点:正规服务商筛选要点、实力机构解析及避坑FAQ - 商业大观
  • Linux主机名查看与修改:从基础命令到生产环境最佳实践
  • 绍兴学美甲去哪个学校好?李同学从服装厂工人到拾月美甲美睫店老板的逆袭 - 实时资讯
  • 全网音乐一键聚合:lxmusic-音源库5分钟上手全攻略
  • 拿回拯救者笔记本的控制权:内存不到10MB的开源工具 Lenovo Legion Toolkit
  • 移动端自动化实战:基于Auto.js实现抖音快手视频自动滑动技术
  • php网站建设实例:从零基础到实战进阶,揭秘高并发网站的构建秘籍
  • 热力学学习指南:从核心概念到解题脉络的系统解析
  • 2026年挑选服务好的高校宣传片拍摄公司有哪些实用的筛选技巧 - 产品推荐官
  • 绍兴学美业连报4门课值吗?陈姐在柯桥蓝天广场开芯妍美学美业综合店 - 实时资讯
  • 洛雪音乐音源配置终极指南:免VIP解锁全网无损音乐,照着做5分钟搞定
  • Genesis Plus GX 快速上手指南:3 步玩转世嘉 8/16 位经典游戏(附避坑清单)
  • 2026餐饮零售数字化服务商选型指南:金华地区正规靠谱服务商实力盘点,附724小时客服服务避坑FAQ及凤梨收银系统服务解析 - 行业观察网
  • WarcraftHelper:魔兽争霸III一键优化辅助,宽屏/解锁FPS/超大图全面兼容
  • 全网音乐聚合怎么落地?lxmusic 音源库的四问四答
  • 3分钟制作USB启动盘:免费开源Rufus格式化工具完整指南
  • 手把手构建你的第一个Windows用户模式文件系统:WinFsp终极上手指南
  • 南昌挂床住院医保诈骗辩护律所:怎样区分违规与刑事犯罪? - 律师律所推荐
  • WarcraftHelper上手全流程:3分钟让魔兽争霸3适配宽屏与高帧率
  • OpenSpeedy游戏变速工具完整上手指南:三步设置,让单机游戏节奏由你掌控
  • 软件测试方案模板:从概念到实战的完整指南与实例
  • 【锡林郭勒盟】2026CPPM采购经理报考指南|正规机构甄选产业适配全攻略 - 中采供培
  • A Ribbon for Tomorrow
  • 学C++最先难倒你的不是语法,而是环境——小熊猫Dev-C++替你铲平入门三道坎
  • 手机号查QQ号完整指南:用免费Python工具在终端快速找回账号
  • 洛雪音乐音源配置终极指南:从选源到调优,一篇带你告别“无声“播放
  • 建设网站考虑因素全解析:从预算规划到技术选型,资深从业者分享避坑指南