SVN trunk主线 branch分支 tag标记 用法详解和详细操作步骤
使用场景
假如你的项目的某个版本(例如1.0版本)已经完成开发、测试并已经上线了,接下来接到新的需求,新需求的开发需要修改多个文件中的代码,当需求已经开始开发一段时间的时候,突然接到用户或测试人员的反馈,项目中有个重大bug需要紧急修复,并且要求bug修复后要立即上线;此时应该怎么修复bug呢?
是在当前已经开发新需求的基础上进行修复吗?
答案是否定的,原因是:如果是在已经开发新需求的基础上进行修复bug,那么新需求还没开发好,更没有测试,怎么立刻(或最可能快的)上线?!再次如果新功能的开发和bug修复的代码都涉及到同一段代码冲突了怎么办 。很显然不能在当前开发的代码基础上进行bug修复工作。
完美的解决方案是:
在当时完成的那个版本中进行bug fix,这样带来的好处是:
1:bug修复好之后可立即上线,不会因为新需求还没有完成或测试而延迟上线时间
2: bug修复是在原来上线的那个版本进行修复的,引起新bug的风险小,如果是在新需求的基础上修复bug, 那么新功能可能会带来新的bug
SVN仓库目录结构Repository
trunk(主干|主线) branchs(分支) tags(标记)
truck(主干|主线|主分支):
是用来做主方向开发的,新功能的开发应放在主线中,当模块开发完成后,需要修改,就用branch。
branch(分支)
分支开发和主线开发是可以同时进行的,也就是并行开发,分支通常用于修复bug时使用
tag(标记)
用于标记某个可用的版本,可以标记已经上线发布的版本,也可以标记正在测试的版本,通常是只读的
SVN具体操作步骤:(TortoiseSVN版本: 1.8.8)
一:创建仓库
-
创建目录结构D:\TortoiseSVN\Repository\Repo-iOS
-
在该目录结构上右键
—> TortoiseSVN
—> Create repository here(创建仓库这里)
—> Create folder structure(创建文件结构) —> Start Repobrowser(开始仓库浏览) —> Ok
-
创建目录结构D:\TortoiseSVN\Repository\Repo-iOS
-
在该目录结构上右键
—> TortoiseSVN
—> Create repository here(创建仓库这里)
—> Create folder structure(创建文件结构) —> Start Repobrowser(开始仓库浏览) —> Ok
二:将项目上传到SVN上
桌面右键
---> TortoiseSVN
--->repo-browser--> URL: file:///D:/TortoiseSVN/Repository/Repo-iOS ---> Ok
--> 选中trunk文件夹右键
---> Add folder...
---> 选中要上传到SVN的项目的最外层目录,输入日志
---> Ok
三:Check Out
- 在电脑任意位置创建一个存放项目代码的目录,例如:D:\TortoiseSVN\Repository\Source
- 将代码检出到该位置
markdown语法:链接: link