前言
这里我在使用的过程中,简单的把 tag
标签当成只读的分支了,通过把tag标签作为一个中介,是我的一个使用方法。
并且强调一下,根据 tag 标签创建分支的时候尽量不要与tag标签名一样。至于为什么可以继续往下看吧
1、创建tag标签
- 添加一个tag,并推送到远程仓库,tag标签的命名一般会根据版本号进行约束
//本地创建tag轻量标签 // git tag t3.11.3 //本地创建tag附注标签 git tag -a t3.11.3 -m "release t3.11.3" // 将tag标签推送到远程服务器 git push origin t3.11.3
轻量标签和附注标签,轻量标签包含信息比较少,所以一般都建议直接用附注标签。
2、 删除一个tag
如果tag不存在的话可以先 git pull
或者 git fetch
// 本地删除tag标签 git tag -d t3.11.3 // 远程删除tag标签 git push origin --delete t.3.11.3 //或 git push origin :refs/tags/t3.11.3
3、 查看tag
// 默认列表 git tag //查找tag list列表 git tag --list // -l后通配符查询tag列表 git tag -l "t.3.*" // 具体tag标签信息 git show tagname
4、在某个commit上打tag
git tag test_tag c809ddbf83939a89659e51dc2a5fe183af384233 git push origin test_tag //!!!本地tag推送到线上
5、 根据tag创建分支
https://www.cnblogs.com/senlinyang/p/9455426.html git branch newbranch 3.11.3 // 切换到分支 git checkout newbranch
这里创建完分支,有修改信息之后还是要进行推送到远程仓库,并且bug或者什么代码是需要合并到其他分支。
//将b3.11.3信息合并到当前分支 git merge b3.11.3
其实问题就出在merge后面的这个分支,如果分支名称跟tag标签名称一致,就会造成影响。如果两个名称一样在合并的时候通过如下进行区别也是没问题的。
// 合并分支 git merge refs/heads/b3.11.3 // 合并tag标签 git merge refs/tags/b3.11.3
分支指向和tag标签指向很明显是不一样的,所以本质上名称一样是没问题的,但大部分时间我们可能并没有注意到这个问题,所以就造成了不必要的问题,而且查起来比较麻烦。
6、总结
tag在日常的使用中还是比较频繁的,通过对自己日常使用的总结,又有了新的认识。