项目每发布一个版本,要养成打 Tag 和 Release 的好习惯。
比如上线 v1.0.0 之后,随手在 github 仓库上就 main 分支打个 v1.0.0 tag, v1.0.1、 v1.1.0、 v2.0.0 等等,这样每次升级都打个标签,可以方便后续追查。
1. 版本命名规范
采用业界标准的 Semantic Versioning,格式为:
v{major}.{minor}.{patch}
| 字段 | 含义 | 触发时机 |
|---|---|---|
| major | 主版本号 | 破坏性更新,不向下兼容 |
| minor | 次版本号 | 新功能,向下兼容 |
| patch | 补丁版本号 | Bug 修复 |
典型迭代示例:
v1.0.0 首次上线
v1.0.1 修复线上 crash
v1.1.0 新增功能模块
v2.0.0 大版本改版,接口不兼容
2. iOS 项目版本号对应关系
App Store 有两个版本概念,建议与 Git tag 保持对应:
| Xcode 字段 | 说明 | 示例 |
|---|---|---|
CFBundleShortVersionString(Marketing Version) |
对应 tag 版本号 | 1.0.0 |
CFBundleVersion(Build Number) |
CI 构建号,不放入 tag | 100 |
3. 命令行发布流程(供参考)
# 切换到 main 分支并拉取最新代码
git checkout main
git pull origin main
# 创建 annotated tag(推荐,包含作者、时间、message 信息)
git tag -a v1.0.0 -m "Release v1.0.0 - 首次上线"
# 推送 tag 到远端
git push origin v1.0.0
注意:tag 打在 merge 到 main 之后的 commit 上,而非 develop 分支。
4. GitHub 网页端发布流程
4.1 合并 develop 到 main
- 在 GitHub 发起 Pull Request:
develop→main - Code Review 通过后,点击 Merge pull request
- 确认 main 分支已更新至最新 commit
4.2 创建 Release
- 进入仓库主页,点击右侧 Releases 区域的 Create a new release
- 填写以下信息:
| 字段 | 填写内容 |
|---|---|
| Choose a tag | 输入 v1.0.0,选择 "Create new tag on publish" |
| Target | 确认选择 main
|
| Release title |
v1.0.0 或 v1.0.0 - 首次发布
|
| Description | 点击 "Generate release notes" 自动生成,或手动填写 |
- 点击 Publish release
4.3 选项说明
- Set as a pre-release:标记为非正式版本(适用于 beta、rc 等测试版),正式上线不勾选
- Set as the latest release:标记为最新正式版本,正式上线保持勾选
5. Release 页面说明
发布成功后,Release 页面包含以下内容:
- What's Changed:自动汇总本次 PR 的变更内容
- New Contributors:首次贡献者列表
- Full Changelog:完整的 commit 链接
-
Assets:GitHub 自动打包的源码压缩包(
zip/tar.gz),由平台自动生成,iOS 私有项目可忽略
6. 完整分支策略示意
develop ──●──●──●──●──────────────────────
↘ Pull Request #3
main ──────────────── ● ─────────────
e9288b2
↑
tag: v1.0.0
2026.03.26 09:09
沪 · 赵巷
📌 声明:本文由 AI 辅助完成