git tag
在 dev
和 main
分支上打 Tag,以下是两种常见场景和建议:
场景 1:需要分别在两个分支打 Tag
适用情况:
dev
分支的 Tag 标记测试/预发布版本(如v1.0.0-beta
)main
分支的 Tag 标记正式发布版本(如v1.0.0
)
操作步骤:
-
为
dev
分支打 Tag:git checkout dev git pull origin dev # 确保同步最新代码 git tag -a v1.0.0-beta -m "测试版本" git push origin v1.0.0-beta # 推送 Tag
-
为
main
分支打 Tag:git checkout main git pull origin main # 确保同步最新代码 git tag -a v1.0.0 -m "正式发布" git push origin v1.0.0 # 推送 Tag
场景 2:仅需在 main
分支打 Tag
适用情况:
dev
分支是持续开发的临时分支,无需标记版本- 只有合并到
main
的代码才需要正式发布
操作步骤:
git checkout main
git pull origin main
git tag -a v1.0.0 -m "正式版本"
git push origin v1.0.0
关键区别:
分支 | Tag 用途 | 命名示例 | 推送目标 |
---|---|---|---|
dev | 测试/预发布版本 | v1.0.0-beta | 测试环境 |
main | 正式发布版本 | v1.0.0 | 生产环境 |
建议:
- 统一规范:团队需提前约定 Tag 命名规则(如用
-beta
/-rc
后缀区分预发布版本)。 - 自动化:如果使用 CI/CD(如 GitHub Actions),可通过流程自动为
main
分支打 Tag。 - 清理旧 Tag:定期清理
dev
分支的临时 Tag,避免污染 Tag 列表。
如果有更复杂的发布流程(如多环境部署),可以进一步讨论优化策略。