ChrisRockC / MyWiki

点-线-面
0 stars 0 forks source link

SVN的Tag Branch的区别 #183

Open ChrisRockC opened 7 years ago

ChrisRockC commented 7 years ago

1、branches下用于存放“分支”,比如用于测试的分支、用于不同版本开发的分支、用于缺陷处理的分支等等,“分支”下存放的内容是会继续修改的; 2、tags下用于存放“标记”,比如某个发布版本的标记,“标记”下存放的内容通常来说是固定不变的。 比如:开发进行到1.0版本测试完成,要进行对外软件发布了,同时项目组后续会拆分成两个小组,一个小组负责1.0版本的BUG维护,另一个小组开始在1.0基础上进行2.0版本的开发。此时,就可以把当前版本从trunk拉到tags下一份,标记为release1_0,然后对外发布时就从这个文件夹获取;然后再把当前版本拉到branches下一份,标记为bugfix1_0,负责1.0版维护的小组以后就在这个文件夹下进行修复工作,负责2.0版开发的小组继续在trunk下工作。 从配置管理的角度来看,打基线就是把库中的某些内容打个标记,就是拖到tags文件夹下。

ChrisRockC commented 7 years ago

以后等于测试完成了,然后Tag Branch 各一份。 Tag : release1_0 以后不会修改 Branch : Bugfix1_0 以后针对里面进行基于1.0 的 fix (但是有一个疑问: 1.0 发布了但是有一个bug 不仅Branch 要进行fix trunk 也是进行修改 这样就是很麻烦的)

ChrisRockC commented 7 years ago

针对上面的疑问:

  1. branch 是可以直接合并到trunk上的,这就是所谓的并行开发
  2. Tag Branch 其实在SVN中都是copy
  3. Tag 一般表示只读的 Branch 是可以继续修改开发的
ChrisRockC commented 7 years ago

http://blog.csdn.net/zoudaokou2006/article/details/6415452