date:
updated:

重新认识git【其四】打标签


列出标签

1
2
3
git tag
git tag -l `v1.8.5*` # 列出以v1.8.5开头的tag
git show v1.2 # 查看1.2标签的详细信息

创建标签

标签会默认创建在最近提交的一个commit上, 一个commit可以创建多个tag

1
2
3
4
5
# 附注标签, 可以添加message
git tag -a "v1.2" -m "some message"

# 轻量标签
git tag v1.2

后期打标签

1
2
3
4
5
6
7
8
git log --pretty=oneline # 查看commit历史记录
6a16e2d2aaeff4ee5c172a4502dca64809bc2deb (HEAD -> dev, tag: v1.1, tag: v1.0, origin/dev) publish learn-git-3 # 已经打了2个tag的commit
5a3ec40f6dce52bb0ffe4f6453b5173233c39c97 save learn git 3
7d1d3eb4d99a9180fa13ebd3d26db4e61db91b34 write learn-git-2 not finish
4daa0e4b5a5053243f468b426377ad8b2322e809 'learngit-2' # 为这个commit打一个tag吧

git tag -a v0.9 4daa0e4 # 默认编辑器会弹出, 输入附加信息保存即可
git tag v0.91 7d1d3e # 轻量标签

推送标签到远程仓库

默认使用 git push 并不会推送标签, 需要手动推送

1
2
git push origin <tagname> # 推送某个标签
git push origin --tags # 推送所有标签

删除标签

1
2
3
git tag -d <tagname> # 本地删除标签
git push origin --delete <tagname> # 远程删除标签(不会删除本地)
git push origin :refs/tags/v0.9 # 远程删除标签(不会删除本地) 不推荐的方式

检出标签

这会使你的仓库处于“分离头指针(detached HEAD)”的状态(暂时还不完全理解) 详细

1
git checkout v1.0

← Prev 重新认识git【其五】分支 | 重新认识git【其三】远程仓库 Next →