git 打标签
1.查看标签及信息
- 列出现有标签,显示的标签按照字母顺序排序:git tag
- 用特定搜索模式列出符合条件的标签:git tag -l 'RDB-*'
2.打标签
git 标签有轻量级和含附注两种
- 轻量级标签:它其实是一个独立的分支或者说是一个不可变的分支,指向特定提交对象的引用
- 带附注标签:实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字、电子邮件地址和日期、标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证。
一般我们都建议使用含附注型的标签,以便保留相关信息,但如果只是临时性加注标签,或者不需要旁注额外信息,用轻量级标签也没问题。
打含附注的标签:git tag -a tag_name -m '标签说明信息'
- 使用git show tag_name,命令查看含附注的标签时,可以显示标签的版本信息,并连同显示打标签时的提交对象
打轻量级的标签:git tag tag_name
- 使用git show tag_name,命令查看轻量级标签时,仅会显示打标签时的提交对象
3.提交标签与修改标签
提交标签:git push origin [tagname] ,如果要一次推送所有本地新增的标签上去,可以使用 --tags 选项: git push origin --tags
如果刚刚同步上去,你缺发现一个致命bug ,需要重新打版本,现在还为时不晚.
git tag -d V1.2
到这一步我们只是删除了本地 V1.2的版本,可是线上V1.2的版本还是存在,如何办?这时我们可以推送的空的同名版本到线上,达到删除线上版本的目标:
git push origin :refs/tags/V1.2
4.获取远程版本
远程版本中有了新标签,但本地库中没有该标签,可以使用命令来更新本地库的标签git fetch origin tag V1.2,也可使用git pull
5.补打标签
找到历史提交的commit id,使用 git tag tag_name commit_id前几位,可以在指定commit点打标签
git log --pretty=oneline 查看commit点