github中的branch和tag到底是个什么关系

TimeDoor 2018-07-10 11:30:10
最近在学习Git, 对git 里面tag的概念不是很清晰,所以由此疑问
我的操作都是用的git命令
我在master打了两个tag v-0.1和v-0.2, push 到remote
先克隆代码仓库到本地:git clone https://github.com/xxxxxxxx
git checkout master 其实默认的也是master
git tag -a v-0.1
git tag -a v-0.2
git push origin :refs/tags/v-0.1
git push origin :refs/tags/v-0.2
然后创建 branch A , 并本地切换到branch A
git checkout -b A
把本地分支推A送到远程
git push origin A
在当前分支A上创建两个tag v-0.3和v-0.4 并push到远程
git tag -a v-0.3
git tag -a v-0.4
git push origin :refs/tags/v-0.3
git push origin :refs/tags/v-0.4

最后发现,我的master 分支和A分支上都有4个tag v-0.1,v-0.2,v-0.3,v-0.4,可是我希望的是在master 分支上只有 v-0.1,v-0.2;A 分支上只有v-0.3,v-0.4;因为我就是这样建的。所有我想删除掉分支A上的 v-0.1和v-0.2,只保留v-0.3和v-0.4。可是天啊,我删完发现,master分支上的v-0.1和v-0.2也不见了。

换言之,

1.就是打tag时候所在的branch 无关, tag是全局范围内的一个快照, 一个具体时间点缩影, 以后任意时刻我都可以使用这个tag 获取当时各个branch的具体内容, 这样理解对么?

2 如果可以, 稍微比较git 里面的tag 和svn 里面各自tag概念 的异同?

谢谢
...全文
737 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

791

社区成员

发帖
与我相关
我的任务
社区描述
区块链技术专区
区块链 技术论坛(原bbs)
社区管理员
  • 区块链技术
  • ccc908
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧