软件版本编号遵循什么规则? [复制]

2024-04-04

我一直在开发一些软件并想给它版本号。

我该怎么做呢?

为什么有些软件有两个版本,比如1.3v1.1

或者有些有 3 个数字 - 4.0.1

这一切背后的方法是什么?

Thanks.


我见过的常用方法是X.Y.Z,一般对应major.minor.patch:

  • 每当引入一些重大更改时,主要版本号就会发生变化。例如,对软件包进行较大的或可能向后不兼容的更改。
  • 当引入新的次要功能或推出一组较小的功能时,次要版本号会发生变化。
  • 当向客户发布新版本的软件时,补丁号会发生变化。这通常用于小错误修复等。

该版本控制系统称为语义版本控制,其规范可以在以下位置找到:https://semver.org https://semver.org

其他变体使用内部版本号作为附加标识符。因此,如果您有许多版本在版本之间进行了测试,那么您可能会有大量的 X.Y.Z.build。我使用了几个按年/月或年/版本标识的软件包。因此,2010 年 9 月的版本可能是 2010.9 或 2010.3,这是今年的第三个版本。

版本控制有很多变体。这一切都归结为个人喜好。

对于“1.3v1.1”,这可能是两个不同的内部产品,可能是与主产品不同的共享库/代码库;这可能表示主要产品的版本 1.3,以及内部库/包的版本 1.1。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件版本编号遵循什么规则? [复制] 的相关文章

  • 使用 GIT 自动增加 AssemblyFileVersion

    好吧 我知道这可能不是传统的 但除此之外 我使用 AssemblyFileVersion 作为我的 构建名称 字符串 它的格式如下 File Version information for an assembly consists of t
  • 为什么版本控制系统缺乏 Visual Source Safe 的共享功能?您使用并认为哪些源代码控制值得尝试?

    我们正在寻找一种版本控制系统来改变我们当前的源安全系统 我们将它与 Visual Studio 一起使用 到目前为止 我们已经失败了 主要原因是我们看到的所有替代方案都不支持 VSS 的一项或多项功能 尤其是我们广泛使用的一项 文件共享 那
  • Jenkins:尽管没有变化,SCM 仍然触发持续构建

    我们遇到一个问题 尽管没有代码更改 SCM 仍在触发构建 SCM 每 15 分钟轮询一次更改 并且仅在发现更改时才触发构建 以下是连续 SCM 轮询日志的几个示例 Started on Nov 15 2013 11 47 14 AM Usi
  • 将bitbucket发布到数字海洋

    我本质上是试图使用 bitbucket 来理解 git 的概念 我一直在通过修改本地帐户和 bitbucket 帐户之间的文件来练习版本控制 事实证明这很有帮助 现在我正在尝试弄清楚如何将文件从 bitbucket 或者我猜是 GitHub
  • 使用BFG时可以指定多个文件吗?

    我正在尝试删除通配符无法覆盖的多种类型的文件 我尝试使用多个 delete files 但它不接受它 还尝试将文件全部放在 delete files 之后 但它也不接受它 有没有一种方法可以将它们全部放在一个命令中 如果没有 那么我必须运行
  • Git 日志历史记录

    对于版本控制来说 重要的一件事是知道谁做了什么更改 如果某些内容发生了变化 而我不知道为什么要进行更改 我会查看历史并询问进行更改的人 当我探索 git 时 让我对这个功能有点紧张的一件事是它似乎很容易伪造 是什么阻止我将同事姓名 电子邮件
  • 在数据库中存储差异的最紧凑方式是什么?

    我想实现类似于维基媒体的修订历史的东西 最好使用的 PHP 函数 库 扩展 算法是什么 我希望差异尽可能紧凑 但我很高兴只能显示每个修订版与其同级修订版之间的差异 并且一次只能回滚一个修订版 在某些情况下 只有几个字符可能会发生变化 而在其
  • 本地分支显示在 GitHub 的“网络”视图上

    我们使用 Git 我们的工作流程由 dev 和 master 分支组成 它们位于 GitHub 和每个开发人员的本地存储库上 不会直接在 master 或 dev 上执行任何工作 而是在本地分支中执行工作 并且仅在 dev 上进行合并 然后
  • 相当于 svn 对 Perforce 的责备

    命令行上是否有相当于 svn 对 Perforce 的责备 p4 annotate不显示用户名 仅显示变更集编号 没有祖先历史 我目前必须通过祖先跟踪代码并与文件日志进行比较 并且必须有一种更简单的方法 也许是 F OSS 实用程序 我对b
  • 从 git 中提取特定的提交/文件

    我在 git 存储库中进行了两次提交 并将它们推送到我的 git 服务器 两个提交是 在第一次提交中文件 A 被提交 在第二次提交中 文件 B 被提交 现在在另一台开发服务器上 我只想从 git 服务器中提取第一个提交或文件 A 这个怎么做
  • 将远程存储库导入为具有完整历史记录的子目录

    我想将远程存储库作为具有完整历史记录的子目录进行合并和解耦 有多种方法和问题可以实现这一点 我的第一次尝试是使用subtree但它似乎没有重写文件的历史记录 所以我无法查看合并存储库的历史记录 接下来的尝试是手动合并它 就像 Seth Ro
  • TFS 2010 API - 从合并中获取工作项

    我需要在 TFS 2010 中的构建完成时发送一封电子邮件 其中详细说明与已作为此构建的一部分进行编译的签入相关的工作项 通过使用这没有问题associatedChangesets构建工作流程中可用的变量 但是 在生产情况下 我们会将开发分
  • 你遇到过哪些 git 陷阱?

    我遇到的最糟糕的情况是 git 子模块 我在 github 上有一个项目的子模块 该项目无人维护 我想提交补丁 但无法提交 所以我分叉了 现在子模块指向原始库 而我需要它指向 fork 因此 我删除了旧的子模块 并将其替换为同一提交中新项目
  • 使用 git 组织多个项目的最佳方式是什么

    我有 5 10 个独立项目 希望使用 Git 将其置于版本控制之下 组织项目 存储库的最佳方式是什么 每个项目使用一个存储库 对我的所有工作使用一个存储库 并为每个项目使用子目录 或者完全不同的东西 什么对你最有效 为什么 我肯定会说每个项
  • git svn 工作流程 - 功能分支和合并

    我现在使用 git svn 和以下工作流程 git clone
  • GitHub 的 Subversion 版本? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 化石入门

    我刚刚开始接触化石 我选择化石的理由是 跨平台 单个可执行文件 单个存储库文件 典型扩展名 fossil 据说很容易使用 但它们不是全部吗 我有几个问题 上下文 假设我想跟踪几个目录中每个文件的更改 适当地命名为 dir1 dir2 等 假
  • 如何获取第一次提交的 Git diff?

    我创建了一个存储库 在其中创建了一个文件 在文件中放入了一些内容 然后提交了该文件 现在 我想查看该提交的差异 理想情况下应该显示添加的文件以及添加到其中的行 然而 git diff HEAD HEAD回报fatal ambiguous a
  • 如何将普通的 Git 存储库转换为裸存储库?

    如何将 普通 Git 存储库转换为裸存储库 主要区别似乎是 在普通的 Git 存储库中 你有一个 git存储库内的文件夹 包含构成工作副本的所有相关数据和所有其他文件 在裸露的 Git 存储库中 没有工作副本和文件夹 我们称之为repo g
  • Eclipse 在源代码管理中保存操作

    我们希望找到一种在签入之前执行代码标准的 轻量级 方法 我们真的很喜欢使用 Eclipse 内置的想法保存操作 go to Preferences gt gt Java gt gt Editor gt gt Save Actions 其中有

随机推荐

  • iOS QuickType 栏:添加自定义建议

    我想根据我的应用程序的用户添加自定义建议 例如 假设它是游戏 然后根据他与之交互的用户 理想情况下 这些建议应在输入字段仍为空时显示 知道该怎么做吗 None
  • 无法加载文件或程序集或其依赖项之一。该系统找不到指定的文件

    我有这样的代码 public static Type ToType XmlSerializableType xmlSerializableType string func XmlSerialzationType ToType Type ty
  • 缩小以适应 Flexbox 或 Flex-basis 中的内容:内容解决方法?

    我有一个网络应用程序 我使用 Flexbox 进行布局 我试图既填充屏幕 它是一个应用程序 而不是文档 又尽可能不指定任何固定的宽度或高度 因为内容可能是各种各样的东西 完全流畅的布局 梦想 因此 我需要流体高度 全宽页眉和页脚 然后中间的
  • Golang将interface{}转换为struct

    我想改进下面代码中的 getCustomerFromDTO 方法 我需要从 interface 创建一个结构 目前我需要将该接口编组到 byte 然后将数组解组到我的结构 必须有更好的方法 我的用例是通过rabbitmq 发送结构 并使用这
  • 奇怪的 var_dump 行为

    我有以下代码行 var dump array 在一个文件中 它输出如下 array size 0 empty 在第二个文件中 它输出 string pre class xdebug var dump b array b i size 0 i
  • 使用 OpenCSV 从 csv 读取流数据

    我有加速度计和陀螺仪传感器流数据 保存在下载文件夹中 我想实时读取所有数据或逐行读取数据流 但我无法超出第一行 try CSVReader reader newCSVReader newFileReader path getAbsolute
  • 保护 Django 站点中的静态媒体访问

    我正在建立一个注册用户可以上传文件的网站 然后通过 Apache 提供这些文件 只有登录的用户才应该能够访问这些文件 我读过了这一页 http docs djangoproject com en dev howto apache auth
  • 如何通过字符和字数检测字符串中是否包含印地语 (devnagri)

    下面是一个示例字符串 string abcde abcde 我需要检查该字符串是否包含任何印地语 梵文 内容 如果包含 则检查字符和单词的数量 我猜带有 unicode 字符类的正则表达式可以工作http www regular expre
  • 使用 ggplot2 绘制发散堆积条形图

    有没有办法使用ggplot2创建发散的堆积条形图 如下图右侧所示 可重现示例的数据 library ggplot2 library scales library reshape dat lt read table text ONE TWO
  • 如何检查 MPMediaItem 是否仅包含音频的 MPMediaType?

    我希望我需要进行按位比较 但我不清楚 Objective C 语法是如何完成的 MPMediaType 的枚举定义如下 我需要做的是确保 MPMediaItem 根本不是视频 因为尽管我使用媒体查询过滤到 MPMediaTypeAnyAud
  • 使用 C# 在预先打印的纸张表单上的特定位置打印文本

    我需要在打印纸的特定位置打印纸张文本 原因是打印是在已打印的表单上完成的 其中包含名字和姓氏等字段 因此 当我得到这个人的名字时 它应该以纸质形式打印在分配的空间内 想知道是否有任何现有的库允许我使用 X 和 Y 坐标等坐标系在特定位置进行
  • Maven - 在 Eclipse 中抑制覆盖托管版本警告

    我在用spring boot 并且遇到了类似于所描述的错误here https stackoverflow com q 14730329 2860319 我将以下内容添加到我的 pom xml 中
  • 逆向工程iOS天气应用程序UI组件[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在尝试写下 iOS 天气应用程序的摘要 我感兴趣的主要组件在下图中标记为 1 2 3 4 和 5 UI 应获取如下 一个 ViewContr
  • 如果行中的特定单元格不为空,则格式化整行

    我想根据其中的特定单元格是否为空来格式化整行 我希望条件格式能够遍历所有行 并在该行中的 C 列不为空时添加背景颜色 我该如何解决 为了说明假设 整行 包含 A Z 列 请尝试格式 条件格式 自定义公式是 C1 lt gt 与您选择的格式和
  • 何时使用表达式混合创建用户控件

    因此 我正在开发一个新应用程序 并且我正在使用 Expression Blend 第一次 来创建布局和样式等 但我有一个关于何时要创建用户控件的问题 我有一个蛀虫 我想用它作为很多东西的背景 但它实际上是边框中的边框 然后我们将把任何控件放
  • 如何使用 Exchange Web 服务 (EWS) API 通过共享邮箱发送电子邮件

    我正在使用 MS Exchange Web 服务 API 通过共享邮箱发送电子邮件 发送电子邮件可以工作 但它们不会保存在已发送的项目中 如下所示 手动执行此操作 项目保存在已发送项目中 但通过我的代码不会保存它们 using Micros
  • 循环变量文件名[重复]

    这个问题在这里已经有答案了 我正在使用 Fortran 对分成许多文件的庞大数据集进行计算 文件的名称是 maltoLyo12per reimage set1 traj maltoLyo12per reimage set2 traj mal
  • 使用 angularjs 将多个对象发送到 webapi

    我的 ASP NET WebApi 应用程序中有以下控制器 Route api PutItem HttpPut public IHttpActionResult PutItem Guid id Item item if ModelState
  • 如何在TabControl.ContentTemplate中添加新的用户控件?

    我不太愿意在中添加用户控件的新实例TabControl ContentTemplate 我的 Xaml 在这里
  • 软件版本编号遵循什么规则? [复制]

    这个问题在这里已经有答案了 我一直在开发一些软件并想给它版本号 我该怎么做呢 为什么有些软件有两个版本 比如1 3v1 1 或者有些有 3 个数字 4 0 1 这一切背后的方法是什么 Thanks 我见过的常用方法是X Y Z 一般对应ma