主要观点:在开源领域,版本控制远比语义版本控制(SemVer)更混乱和多样,存在多种替代方案。本文介绍了众多开源中的版本控制方法,包括 SemVer、CalVer、ZeroVer、EffVer、RomVer、Sentimental Versioning、HashVer、GitDate、PragVer、WendtVer、SoloVer、BreakVer、Explicit Versioning、ZenVer、PVP、FloatVer、AsymptoVer、TrunkVer、Epoch SemVer 等。
关键信息:
- SemVer:最广泛使用的开源版本控制方案,格式为 MAJOR.MINOR.PATCH,分别表示不兼容 API 更改、向后兼容的功能添加和向后兼容的 bug 修复。
- CalVer:基于日期的版本控制方案,有多种格式,如 YYYY.MM.DD 等。
- ZeroVer:讽刺性的版本控制方案,版本号始终以 0 开头,暗示软件仍在初始开发阶段。
- EffVer:旨在量化采用更改所需的预期工作,关注用户采用新版本的努力。
- RomVer:基于 SemVer,通过人类可读的名称来提取软件版本的“版本控制规范”。
- Sentimental Versioning:富有创意和个人化的版本控制方案,版本号对作者有个人意义。
- HashVer:频繁发布时使用,包含日期和源代码控制提交的哈希值。
- GitDate:使用 Git 仓库的提交日期进行版本控制,方便跟踪更改。
- PragVer:为沟通包消费者的更改而优化,格式为 BIGRELEASE.ANNOUNCE.INCREMENT。
- WendtVer:简单的版本控制系统,每次提交都会递增版本号。
- SoloVer:简单且表达性强的版本控制规范,使用单个数字和可选后缀。
- BreakVer:旨在解决 SemVer 的问题,强调版本更新的最大潜在影响。
- Explicit Versioning:用于明确宣布有意的不兼容更改的版本控制方案。
- ZenVer:简单直接的版本控制规范,数字越大软件越好。
- PVP:专门为 Haskell 生态系统设计的版本控制方案。
- FloatVer:使用非负 IEEE754 32 位浮点数进行版本控制。
- AsymptoVer:独特的版本控制方案,版本号渐近接近无限小数。
- TrunkVer:用于 trunk 基础开发和持续交付管道的版本控制方案,自动生成版本并包含元数据。
- Epoch SemVer:扩展 SemVer 的版本控制方案,引入纪元前缀处理项目的根本变化。
重要细节:
- 各版本控制方案的提出者、提出时间及具体格式和特点。
- 介绍了一些与版本控制相关的链接,如视频、文章和维基百科页面。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。