「自」Git常用命令汇总
标签作用
●标签是为了标记重要的提交
●git tag v1030 release
实际上是给提交打标签,而不是直接给分支打标签。
创建标签
轻量标签(Lightweight Tag)
● 不是对象:轻量标签实际上只是一个指向特定提交的引用(ref),类似于分支指针。它不会创建新的 Git 对象。
● 存储位置:轻量标签存储在 .git/refs/tags/
目录下,文件内容是该标签所指向的提交哈希值。
● 引入原因1 灵活性: 用于快速标记特定的提交
● git tag v0930 2b200df
● git tag v1030 release
● git tag v1130 origin/release
● git tag v1230
给当前分支最新提交打标签
带注释标签(Annotated Tag)
● 是对象:带注释标签会创建一个新的 Git 对象,即标签对象(tag object)。这个对象包含了标签的元数据,如标签名称、标签创建者、时间戳、标签信息等。
● 存储位置:标签对象存储在 .git/objects
目录下,通过其 SHA-1 哈希值进行标识。同时,.git/refs/tags/
目录下的文件内容是指向该标签对象的哈希值。
●git tag -a v0830 2b200df -m "0930版本"
-a
表示创建一个带注释的标签, 即 annotated tag
-m
“0930版本” 表示注释信息
● 引入原因1 用于正式版本发布,因为它们包含了创建者信息、日期和标签消息,这些信息对于版本控制和发布管理非常重要。
发布一个版本
git tag -a v1030 -m "released v1030"
git push origin v1020
● 引入原因2 可追溯性: 通过注释可以更容易地理解为什么创建了这个标签。
● 引入原因3 安全性和验证: 带注释标签可以被签名,可以验证标签的创建者和确保标签的完整性,防止未经授权的修改。
列出标签
列出本地标签
git tag 列出中本地的标签
git tag -l "v.*" -l 即 --list , 列出仓库中的标签基础上,支持更多选项和模式匹配
列出远程标签
git ls-remote --tags origin
查看标签信息
git show refs/tags/v0830 查看v1030具体信息, 完整的引用路径
git show v0830 查看v1030具体信息, 简化的标签名称
删除标签
删除本地标签
git tag -d v0930
删除远程标签
git tag -d v.0325
git push origin :refs/tags/v.0325
推送标签
git push origin v0830 推送本地v1030到远程仓库
git push origin --tags 推送全部本地tag到远程仓库