在 Mac 上为 Git 历史 commit 打 Release 标签需三步:1. 用 git log --oneline -n 20 查目标 commit 完整哈希;2. 用 git tag -a v1.0.0 -m "release note" <hash> 创建附注标签;3. git show 验证后 git push origin v1.0.0 推送,并在 GitHub Draft release 关联发布。

在 Mac 上给 Git 仓库中某个历史 commit 打上正式 Release 标签,是为了锁定该版本作为可发布的稳定快照,后续任何人检出这个 tag 就能精确还原当时代码状态,避免因分支移动或误操作导致版本错位。
确认目标 commit 的哈希值
打开终端,进入你的 Git 仓库目录,执行:git log --oneline -n 20。这会列出最近 20 条精简提交记录,每行开头就是 7 位短哈希(如 50dbe3c),后面跟着提交信息。
找到你想标记为 Release 的那条提交,记下它的完整哈希值——必须用 git log 查到的原始哈希,不能用 GitHub 网页上显示的缩略 ID 或带前缀的 ref。如果提交信息含关键词(比如 “release ready” 或 “v1.0 final”),可用 git log --oneline | grep "final" 快速筛选。
创建带附注的 Release 标签
执行命令:git tag -a v1.0.0 -m "release: AuthDash first stable version" 50dbe3c。
这里 v1.0.0 是语义化版本号,必须以 v 开头才符合主流平台(GitHub/GitLab)识别规范;-m 后的字符串是 Release Note,会被 GitHub Release 页面直接读取展示;最后的 50dbe3c 是上一步确认的完整 commit 哈希——漏掉这个参数,标签就会打在当前 HEAD 上,不是你想要的历史版本。
这条命令会立即创建一个附注标签对象,包含时间戳、作者、签名(如有 GPG 配置)和完整描述,比轻量标签更可靠。
验证并推送标签到远程仓库
第一步:运行 git show v1.0.0,检查输出是否包含你指定的 commit 哈希、附注信息和作者时间。若显示的是别的 commit 或提示 “fatal: ambiguous argument”,说明标签打错了位置,需先用 git tag -d v1.0.0 删除重打。
第二步:执行 git push origin v1.0.0。注意不要用 --tags 全量推送,否则可能意外推送上调试用的临时标签。
第三步:打开 GitHub 仓库页面 → 切换到 “Releases” 标签页 → 点击 “Draft a new release” → 在 “Tag version” 输入框里输入 v1.0.0 → 点击 “Publish release”。系统会自动关联刚才推送的 tag,并生成带下载资产和变更日志的正式发布页。


















