SVN使用流程指南【仅供参考】

一,SVN相关基本操作大致如下图所示:
图1

二,项目开始之前,项目经理(或技术Leader)在SVN服务器上创建目录规范,如下图所示:
在这里插入图片描述
说明:
项目经理(或leader)在SVN服务器建立3个文件:trunk,branches,tags 文件夹。
①trunk:主干,当前项目正在开发的主目录。
②branches: 分支目录,添加非主线功能时使用,开发测试之后,可以合并到主干项目中。
③tags:标记目录,通常作为重大版本的备份。

三,SVN在项目开发中基本大致使用流程(用CornerStone):

1,首先项目经理初始化项目并将其导入SVN的trunk文件夹下。

2,项目经理给开发人员分配SVN权限,并分配相应账号密码。

3,开发人员A和B拿到SVN上trunk文件夹路径,使用SVN账号密码成功登录CornerStone,然后checkout 下新项目开发进入开发,A负责开发新功能1,B负责开发新功能2。

4,A新功能开发完成,然后在CornerStone中先update最新代码,然后commit代码至SVN服务器trunk文件夹下对应的当前项目文件夹下。B新功能开发完成,做同样更新提交操作。

5,项目经理将项目提交给测试人员测试,多次测试及bug修复后,测试反馈暂无bug准以上线,则项目1.0可以上线发布。

6,项目发布上线。

7,项目上线后,项目经理需要将项目1.0版本备份至tags文件夹下。

 具体操作是:选中SVN服务器上trunk文件夹下的当前项目,然后点击CornerStone顶部的“tag”按钮,然后根据窗口提示输入相正确文件名及地址保存即可,然后tag文件夹下就会生成trunk文件夹下当前项目1.0的副本。

8,项目1.0开发完成后,项目进入了2.0开发阶段,其中开发人员A负责新功能3,开发人员B负责新功能4。

9,过了几天,突然,客户反馈线上的版本存在重大bug,严重影响用户使用。于是经理便让开发人员B暂停当前版本2.0开发任务,转向项目1.0版本的bug修复工作。

10,这时项目经理需要单独为开发人员创建一个branch(专门修复项目v1.0bug的分支)。

 具体操作是:
 ①经理选中SVN服务器上的tag文件夹下的当前项目1.0版本文件夹,然后在选中点击CornerStone顶部的“branch”按钮,然后根据窗口提示输入正确文件名及地址保存即可。
 ②然后branch文件夹下就会生成一个项目1.0版本的副本,然后经理copy文件路径交给开发人员B,B拿到路径将branch文件夹下的代码checkout,然后在该代码中修复项目1.0版本中的bug。

11,开发人员B修复完毕将代码提交到服务器branch下的对应项目中(此时是修复项目1.0版本bug的项目),提交给测试进行测试,测试人员反馈没问题后,此时开发人员A由于项目2.0的新功能3还在开发中,那么项目经理便可以将服务器上branch的代码合并(merge)至自己本地项目2.0版本中,便于下次提交新版本时将1.0版本修复的bug同2.0版本新功能同时发布。

  ** merge 的具体操作:**
  
  ①项目经理先将服务器trunk下的项目代码checkout至本地。
  ②然后选中它,然后点击”merge“按钮,弹出窗口,然后注意“merge from”选项 ,要选择服务器上branch下的项目(即修复版本1.0bug的项目),然后点击底部“merge change”按钮即可。
  ③项目经理检查代码并确认开发人员B确实已修复版本1.0bug,然后将自己本地项目代码commit至SVN服务器的trunk上。

12,项目经理通知开发人员A和B:branch上的代码已merge至trunk,请及时update,然后开发人员A和B update代码后又继续版本2.0的开发。

13,项目经理将branch下的项目(修复1.0版本bug的项目)备份到tags文件夹,并取名为“项目版本1.1”(即修复1.0之后的版本)

14,项目经理删除SVN服务器上无用的branch下的项目(之前用于修复1.0版本bug的项目)

15, 版本2.0新功能开发完毕,提交给测试人员测试,多次测试及bug修复后,测试人员反馈暂无bug准以上线,则项目2.0版本可以上线发布。

16,项目上线后,项目经理需要将项目2.0版本备份至tags文件夹下,并取名为“项目2.0版本”

17,再次回到第8步,开始类似循环。。。就这样项目不断向前开发着。。。

四,使用SVN 我们应该注意【=> 很重要 <= !!!】
在这里插入图片描述
五,SVN优缺点

优点:
1、 管理方便,逻辑明确,符合一般人思维习惯,集中式管理,管理方式在服务端配置好,客户端只需要同步提交即可。
2、 易于管理,集中式服务器更能保证安全性,服务端可统一控制不同成员的访问权限,便于代码的安全管理。
3、 所有的代码以服务端为准,代码一致性高。
4、 适合开发人数不多的项目开发,SVN对中文支持好,操作简单,使用没有难度,美工人员,产品人员,测试人员,实施人员都可轻松上手。使用界面统一,功能完善,操作方便。

缺点:
1、 服务器压力太大,数据库容量暴增。
2、所有操作都需要联网通过服务端进行同步,这会导致服务器性能要求比较高。如果服务器宕机了或者断网就无法提交、还原、对比等其他操作。
3、 不适合开源开发。
4、 分支管理不灵活。
5、 分支和合并(merge)功能没有git强大,速度没有git快。

  **注:该文章仅供参考,文中有些图片来源于网络。**
  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

haoGe1991

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值