理解标签
在Git中,标签tag用于标记特定的一个重要点,比如版本发布。标签允许捕捉某一次提交的状态,当我们需要退回到某次提叫的版本时,通过标签我们快速定位到。标签具有两种类型:
- 轻量标签:最简单的标签形式,会自动标记下一次提交。轻量标签本质上是一个不可变的分支。
- 附注标签:这种标签在数据库中被存储为完整的对象。跟轻量标签的区别就是具有更多的信息,包括创建者信息、创建日期、标签信息等。
创建标签
创建轻量标签
使用以下指令可以创建一个轻量标签:
git tag < tagname >
tagname
表示的是标签的名字
创建附注标签
使用以下指令可以创建一个附注标签:
git tag -a [name] -m "XXX" [commit_id]
name
表示标签的名字,”xxx“
表示标签的信息,commit_id
表示为指定的提交打标签
值得注意的是,一个标签只能标记一次提交,但是一次提交可以被多个标签标记。
查看标签
创建之后我们可以使用git tag
指令查看所有标签
指定标记提交
值得注意的是,默认创建的标签是会自动标记最新的一次提交的,我们也可以指定标记一个原来的commit。
- 首先使用
git log --pretty=oneline --abbrev-commit
指令查看历史commit记录。 - 选择一个要标记的commit的id,使用
git tag < tagname > < commit id>
指令为commit id
打上tagname
标签。示例如下:
查看标签信息
使用git show <tagname>
指令可以查看tagname标签的信息,示例如下:
操作标签
推送标签到远端仓库
使用git push origin <tagname>
指令推送tagname标签到远程仓库中
从本地删除标签
使用git tag -d < tagname >
指令可以在本地仓库中删除一个标签:
一旦删除某个标签,之前被该标签标记过的提交也会将这个标记消除。
从远程删除标签
从远程删除一个标签一般先从本地删除。
使用以下指令从远程仓库中删除一个标签git push origin :refs/tags/v1.0