版权声明:本文为博主原创文章,未经博主允许不得转载。
在做app开发的时候经常有版本的概念,比如v1.0、v1.1之类的,不同的版本肯定对应不同的代码,所以我一般要给我们的代码加上标签,这样假设v1.1版本出了一个新bug,但是又不晓得v1.0是不是有这个bug,有了标签就可以顺利切换到v1.0的代码,重新打个包测试了。
本地仓库操作:
1:打 tag 标签
Git tag -a v1.0 -m “commit version 1.0
加上 -f 覆盖原有的tag
git tag -f v1.0
2:push 到远程仓库
- push所有tag到远程仓库:git push origin –tags (注意tags前是两个短横杠)
- push单个tag到远程仓库:git push origin [tagname]
3:删除 tag 便签
git tag -d v1.0
4:查看 tag 标签
git tag
5:切换标签
git checkout v1.0
远程仓库操作:
1:从远程仓库上删除 tag
git push origin :v1.0
git push origin :refs/tags/[tagname]
git push origin –delete [tagname]
三种方法尽量都有尝试一下。
注意事项:
尽量不要tag名字和分支名字一样,比较麻烦。
如果tag名字和分支名字一样的时候,push需要指定refs的详细路径,因为分支和tag在git内部是这样表示的(只是引用),tag只存储所指向的那一次提交:
refs/tags/{tagnane} refs/heads/branches/{branchnane}
所以要这样push相同名字的tag和分支:
git push origin refs/tags/product
git push origin refs/heads/branches/product
把所有的tag都push到服务器上:
git push origin –tags
其他 tag 操作:
轻量级标签
轻量级标签实际上就是存在一个文件中的提交校验和–没有附加任何其他信息。创建轻量级标签的方法就是把上面’-a’,’-s’,’-m’这些选项都去掉。
git tag v1.0
如果现在对这个标签使用’git show’命令,不会看到像上面那种标签显示的那么多内容,仅仅显示这次提交的有关信息。