Git Tag
最后更新
git tag 给某个特定提交起一个名字,通常是 v1.0.0 这样的发布版本号。标签有两种:轻量标签(只是一个指向提交的名字)和附注标签(一个带有说明信息、作者和日期的完整对象)。标签不会被自动推送,需要单独推送。
在终端在线编辑器中试试这些命令:浏览器里就是真正的 shell,无需安装。
语法
| 命令 | 作用 |
|---|---|
git tag v1.0.0 | 在 HEAD 上创建轻量标签 |
git tag -a v1.0.0 -m "Release 1.0" | 创建带说明信息的附注标签 |
git tag -a v1.0.0 <hash> | 给过去的某个提交打标签 |
git tag | 列出所有标签 |
git push origin v1.0.0 | 把一个标签推送到远程 |
git push --tags | 推送所有标签 |
git tag -d v1.0.0 | 删除本地标签 |
轻量标签与附注标签
| 方面 | 轻量标签 | 附注标签 |
|---|---|---|
| 保存说明信息 | 否 | 是 |
| 记录作者和日期 | 否 | 是 |
| 适合用于发布 | 否 | 是 |
git tag 常见问题
Git 怎么创建标签?
想快速做个标记,运行
git tag <name>(在当前提交上创建轻量标签)。用于发布时,创建附注标签:git tag -a v1.0.0 -m "Release 1.0",它会保存说明信息、作者和日期。在命令末尾加上提交哈希值,就能给较早的提交打标签。轻量标签和附注标签有什么区别?
轻量标签只是一个指向提交的名字,没有额外数据。附注标签是一个完整的 Git 对象,包含说明信息、打标签者的名字和日期,并且可以被验证。发布版本请用附注标签;临时或私人的标记用轻量标签就够了。
怎么把标签推送到远程?
普通的
git push 不会包含标签。用 git push origin <tagname> 推送指定标签,或用 git push --tags 一次推送所有标签。很多人在这里踩坑:你创建的标签在推送之前一直只存在于本地。怎么删除标签?
用
git tag -d <tagname> 删除本地标签。要同时从远程删除,运行 git push origin --delete <tagname>(或较老的写法 git push origin :refs/tags/<tagname>)。删除本地标签和远程标签是两个独立的步骤。可以在线练习吗?
可以。打开终端在线编辑器,就能在浏览器里的真实 shell 中运行
git tag,无需安装。Coddy 的免费互动 Git 课程也会一步步教你打标签和发布版本。