Git有commit,为什么还要引入tag?
“请把上周一的那个版本打包发布,commit号是6a5819e...”
“一串乱七八糟的数字不好找!”
如果换一个办法:
“请把上周一的那个版本打包发布,版本号是v1.2”
“好的,按照tag v1.2查找commit就行!”
所以,tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。
$ git checkout master
$ git tag v1.0 #创建标签
$ git tag
默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,比如,现在已经是周五了,但应该在周一打的标签没有打,怎么办?
方法是找到历史提交的commit id,然后打上就可以了:
$ git log --pretty=oneline --abbrev-commit
$ git tag v0.9 6224937 #找到对应的版本然后打tag
$ git tag
$ git show v0.9 #可以看到v0.9确实打到了这个标签上
还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:
$ git tag -a v0.1 -m "version 0.1 released" 3628164
删除本地标签 :
扫描二维码关注公众号,回复:
11337669 查看本文章
$ git tag -d v0.1
$ git tag
$ git push origin v1.0 #推送某个标签到远程
$ git push origin --tags #一次性推送所有的本地tag
删除远程标签:
$ git tag -d v1.0
$ git push origin :refs/tags/v1.0
别名设置:
$ git config --global alias.ci commit # 将commit 设置成ci的别名