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概念 的异同?

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

794

社区成员

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

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