如何在 GitHub 仓库中创建标签(Tag)

创建标签两种方式:命令行 git tag -a v1.0.0 -m "说明" 后 git push origin refs/tags/v1.0.0(推荐附注标签);或在 GitHub 网页 Releases → Draft a new release 中创建标签并发布。轻量标签只是指针,附注标签含说明等元数据,签名需另行启用。

最佳实践
Git 提交历史与版本恢复示意

两种方式:① 命令行 git tag -a v1.0.0 -m "release v1.0.0" 创建附注标签,再 git push origin refs/tags/v1.0.0 推送;② GitHub 网页端 Releases → Draft a new release → Choose a tag 输入新标签名发布,GitHub 会自动建标签。正式发布建议用附注标签(带说明、作者、日期,可 GPG 签名)。

命令行方式

git fetch origin main            # 更新远端 main
git log -1 --oneline origin/main  # 核对准备打标的提交

git tag -a v1.0.0 origin/main -m "v1.0.0:首个稳定版本"   # 附注标签(推荐)
# 或轻量标签(仅指针,无元数据)
# git tag v1.0.0 origin/main  # 与上一条二选一,不要重复创建同名标签

git push origin refs/tags/v1.0.0           # 推送单个标签
# git push origin --tags         # 仅确认要发布全部本地标签时使用

给历史提交补标签:git tag -a v0.9.0 <commit哈希> -m "补标"。

网页方式

仓库首页 → 右侧 Releases → Draft a new release → Choose a tag 输入 v1.0.0(选 "Create new tag on publish")→ 填标题和发布说明 → Publish release。标签和 Release 一次完成。

标签管理

git tag                    # 列出所有标签
git show v1.0.0            # 查看标签详情
git tag -d v1.0.0          # 删本地标签
git push origin --delete refs/tags/v1.0.0   # 删远程标签

常见问题(FAQ)

Q:轻量标签和附注标签选哪个?

正式发版用附注标签(-a):它记录了打标人、时间、说明,可用 -s 显式签名;-a 本身不请求签名,但 tag.gpgSign 等配置仍可能启用签名。GitHub Release 也可基于轻量标签,正式发版通常优先附注标签以保留元数据。

Q:标签名有什么规范?

业界通行语义化版本:v主.次.修订(如 v1.2.3)。预发布加后缀:v2.0.0-rc.1。保持与 CHANGELOG 一致。

Q:推错标签怎么撤回?

先删远程 git push origin --delete refs/tags/v1.0.0,再删本地 git tag -d v1.0.0。删除标签不等于删除对应 Release;受保护或不可变的标签/Release 可能拒绝删除。若已有人基于该 tag 构建发布,改发新标签而不是覆盖。

参考资料

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台