站内链接:

List

show all

1
2
3
# 列出标签信息
git tag
git tag -l 'v1.4.2.*'

show special

1
2
# 需要私钥才有权限
git show v1.5

verify

1
2
# 需要公钥进行验证
git tag -v v1.5

Create

1
2
3
# 签署标签, 需要私钥
git tag -a v1.4 -m 'My version 1.4'
git tag v1.2

Push or Share

1
2
git push origin tags-name
git push origin --tags # 一次性推送所有tags

注意, 一旦本地已经存在某个 tag 并且该 tag 中的内容还是老的提交记录, 此时执行git fetch 并不会更新本地的 tag 分支,
这点非常重要可能会导致 hotfix 分支修复的时候会出现问题:

1
2
3
git checkout v1.4
# 此时新的分支hotfix/v1.4中的代码并非最新的v1.4代码(重要)
git chckout -b hotfix/v1.4

当然, 通过本地而非服务器 gitlab 进行分支的创建本来也是不健康的行为, 此时正确的做法是先删除本地 tag, 然后再拉取最新的 tag 内容:

1
2
3
4
git tag -d v1.4
git fetch
git checkout v1.4
git checkout -b hotfix/v1.4

Delete

local

1
git tag -d v-versions

server

1
git push origin :refs/tags/v-versions

Update

append

1
2
3
# 后期对某一个提交进行tags标注(有用)
git log --pretty=oneline
git tag -a v1.2 9fceb02