标签管理
一 标签介绍
每次commit一个版本,都会生成一个编号,如"fa4aa452a6a3aa",我们可以用该编号来回滚版本,但是该编号太难记忆了,我们可以为一个版本打一个标签,
事实上,tag就是一个让人容易记住的有意义的名字,它是跟某个commit绑在一起的。发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。
二 创建标签
# 1、标签默认打在最新提交的commit上
git tag v1.0
# 2、我们也可以指定打在某一个commit上,先用git log --pretty=oneline --abbrev-commit查看commit编号
git tag v0.9 07f52c6
# 3、还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:
git tag -a v0.1 -m "version 0.1 released" 12c0ea3
# 4、查看标签
git tag # 查看都有哪些标签
git show v1.0 # 查看标签v1.0的详细内容
# 5、回滚
git reset --hard v0.9
注意:
标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。
三 操作标签
推送标签
命令git push origin <tagname>可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
删除标签
命令git tag -d <tagname>可以删除一个本地标签;
命令git push origin :refs/tags/<tagname>可以删除一个远程标签。