使用标签进行语义化版本控制
将语义化版本控制原则应用于项目,并使用 Git 标签标记历史中的重要节点。
使用标签进行语义化版本控制 是 CoddyKit 上的免费 Git & GitHub Professional Workflow 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Git & GitHub Professional Workflow 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Git & GitHub Professional Workflow 课程共包含 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 导师)并解锁 Git & GitHub Professional Workflow 课程的其余内容,请升级到 CoddyKit PRO。 Git & GitHub Professional Workflow 课程共包含 4 节课。
「使用标签进行语义化版本控制」这节课中我会学到什么?
将语义化版本控制原则应用于项目,并使用 Git 标签标记历史中的重要节点。 你通过在浏览器中直接运行的动手代码来练习 Git & GitHub Professional Workflow,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Git & GitHub Professional Workflow 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Git & GitHub Professional Workflow 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「使用标签进行语义化版本控制」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Git & GitHub Professional Workflow 课中编写并运行代码吗?
能。每节 Git & GitHub Professional Workflow 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 使用标签进行语义化版本控制
- 创建与管理发布版本
- 发布分支与热修复
- 生成变更日志与发布说明