您的位置:首页 > 编程语言

Git 系列之tag的用法---为你的代码标记版本号

2016-11-19 15:59 155 查看
在做app开发的时候经常有版本的概念,比如v1.0、v1.1之类的,不同的版本肯定对应不同的代码,所以我一般要给我们的代码加上标签,这样假设v1.1版本出了一个新bug,但是又不晓得v1.0是不是有这个bug,有了标签就可以顺利切换到v1.0的代码,重新打个包测试了。

本地仓库操作:

1:打 tag 标签(在commit 之后,push之前,去添加tag)

git tag -a v1.0 -m “commit version 1.0”

加上 -f 覆盖原有的tag

git tag -f v1.0

2:push 到远程仓库(打完tag之后,去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’命令,不会看到像上面那种标签显示的那么多内容,仅仅显示这次提交的有关信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: