如何在 GitHub 仓库中创建标签(Tag)
创建标签两种方式:命令行 git tag -a v1.0.0 -m "说明" 后 git push origin v1.0.0(推荐附注标签);或在 GitHub 网页 Releases → Draft a new release 中创建标签并发布。轻量标签只是指针,附注标签含说明与签名。
两种方式:① 命令行 git tag -a v1.0.0 -m "release v1.0.0" 创建附注标签,再 git push origin v1.0.0 推送;② GitHub 网页端 Releases → Draft a new release → Choose a tag 输入新标签名发布,GitHub 会自动建标签。正式发布建议用附注标签(带说明、作者、日期,可 GPG 签名)。
命令行方式
git fetch origin # 同步远程
git checkout main # 切到要打标的分支(或具体 commit)
git pull
git tag -a v1.0.0 -m "v1.0.0:首个稳定版本" # 附注标签(推荐)
# 或轻量标签(仅指针,无元数据)
git tag v1.0.0
git push origin 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 v1.0.0 # 删远程标签
常见问题(FAQ)
Q:轻量标签和附注标签选哪个?
正式发版用附注标签(-a):它记录了打标人、时间、说明,可签名验证,GitHub 也认其为正式 Release 的基础。轻量标签只适合临时标记。
Q:标签名有什么规范?
业界通行语义化版本:v主.次.修订(如 v1.2.3)。预发布加后缀:v2.0.0-rc.1。保持与 CHANGELOG 一致。
Q:推错标签怎么撤回?
先删远程 git push origin --delete v1.0.0,再删本地 git tag -d v1.0.0。若已有人基于该 tag 构建发布,改发新标签而不是覆盖。