0Pricing
DevOps Bootcamp · 课时

使用标签进行语义化版本控制

将语义化版本控制原则应用于项目,并使用 Git 标签标记历史中的重要节点。

使用标签进行语义化版本控制 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。

什么是软件版本管理?

想象一下盖房子。您不会想把旧蓝图和新蓝图混在一起使用,对吧?

  • 软件版本管理有助于跟踪代码中的变更。
  • 它会为每个发布版本分配唯一标识,例如版本号。
  • 这有助于开发者和用户了解新增了什么、修复了什么,以及哪些内容可能会出现问题。

它对于管理依赖项和有效传达变更至关重要。

语义化版本(SemVer)简介

语义化版本(或 SemVer)是广泛采用的版本号分配标准。

它使用简单的 MAJOR.MINOR.PATCH 格式:

  • MAJOR:用于重大且不兼容的变更。
  • MINOR:用于向后兼容的新功能。
  • PATCH:用于向后兼容的小型错误修复。

这个系统可以清晰地传达新发布版本的影响。

了解 MAJOR 版本

当您对 API 进行不兼容的变更时,MAJOR 版本号会递增。

这意味着,如果有人正在使用您的软件,升级到新的 MAJOR 版本可能会导致其现有代码无法正常运行。

  • 示例:从 1.0.0 变为 2.0.0。
  • 请务必在发布说明中清楚地说明不兼容的变更!

它表示一次需要用户关注的重大更新。

了解 MINOR 版本

当您以向后兼容的方式添加新功能时,MINOR 版本号会递增。

用户可以放心升级到新的 MINOR 版本,不必担心现有代码无法运行。

  • 示例:从 1.2.0 变为 1.3.0。
  • 虽然添加了新功能,但原有功能仍会按预期运行。

当 MINOR 版本号递增时,PATCH 版本会重置为 0(例如,1.2.5 会变为 1.3.0)。

了解 PATCH 版本

当您进行向后兼容的错误修复时,PATCH 版本号会递增。

这类变更通常规模较小且属于内部调整,不会添加新功能,也不会破坏现有功能。

  • 示例:从 1.2.3 变为 1.2.4。
  • 用户可以放心升级,以获得错误修复。

PATCH 发布版本通常对稳定性和安全性至关重要。

SemVer 为什么重要

采用语义化版本可以带来多项好处:

  • 清晰性:开发者可以立即了解更新的影响。
  • 可预测性:有助于避免依赖该项目的项目出现意外故障。
  • 依赖项管理:工具可以自动更新到安全的版本。
  • 沟通:为讨论发布版本提供共同语言。

它能够建立信任,并让软件开发更加稳健。

使用 Git 标签进行版本管理

Git 提供了一项名为标签的功能,允许您将代码仓库历史中的特定位置标记为重要位置。

这非常适合标记发布版本,例如 v1.0.0 或 v2.1.5。

  • 标签就像指向特定提交的永久书签。
  • 它可以帮助您在之后轻松引用已发布的代码版本。

标签通常用于标记项目时间线中的正式发布节点。

附注标签与轻量标签

Git 提供两种主要的标签类型:

  • 轻量标签:指向某个提交的简单指针。它们只有一个名称。
  • 附注标签:完整的 Git 对象,其中包含创建者姓名、电子邮件、日期和消息。

对于发布版本,通常更推荐使用附注标签,因为它们会保存有价值的元数据,还可以进行签名以验证真实性。

您可以把附注标签看作一个小型的发布提交。

创建附注标签

要创建附注标签,请使用 git tag -a 命令,后面接标签名称和消息。

下面将介绍如何标记您的第一个稳定发布版本:

git init
echo "Initial content" > README.md
git add README.md
git commit -m "First commit"
git tag -a v1.0.0 -m "Initial stable release"
git log --oneline --decorate

查看和检查标签

创建标签后,您可以列出标签或查看其详细信息。

  • 使用 git tag 列出代码仓库中的所有标签。
  • 使用 git show <tagname> 查看与标签关联的提交及其元数据。

请运行示例,看看具体效果:

git init
echo "Feature A" > a.txt
git add a.txt
git commit -m "Add feature A"
git tag -a v0.1.0 -m "First feature release"
echo "Bug Fix B" > b.txt
git add b.txt
git commit -m "Fix bug B"
git tag -a v0.1.1 -m "Bug B fixed"
git tag
git show v0.1.0

快速检查:SemVer 的影响

假设某个项目当前版本为 1.5.2。团队决定添加一项新的向后兼容功能,并修复一个小错误。

根据语义化版本规范,下一个版本号应该是什么?

回顾:SemVer 与 Git 标签

做得很好!您已经学习了语义化版本和使用 Git 标签标记发布版本的基本知识。

  • SemVer (MAJOR.MINOR.PATCH) 提供了清晰传达变更的方式。
  • MAJOR:不兼容的变更。
  • MINOR:新的向后兼容功能。
  • PATCH:向后兼容的错误修复。
  • Git 标签:作为特定提交的永久书签,非常适合标记发布版本。
  • 附注标签:由于包含元数据,因此更适合发布版本。

这些知识是有效管理发布版本和开展协作的关键!

常见问题解答

「使用标签进行语义化版本控制」课时是免费的吗?

是的 — 「使用标签进行语义化版本控制」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。

「使用标签进行语义化版本控制」这节课中我会学到什么?

将语义化版本控制原则应用于项目,并使用 Git 标签标记历史中的重要节点。 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 DevOps Bootcamp 需要有经验吗?

无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「使用标签进行语义化版本控制」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 DevOps Bootcamp 课中编写并运行代码吗?

能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 使用标签进行语义化版本控制
  2. 创建与管理发布版本
  3. 发布分支与热修复
  4. 生成变更日志与发布说明
← 返回 DevOps Bootcamp