为什么要使用svn

来源:互联网 发布:淘宝追加评价在哪 编辑:程序博客网 时间:2024/05/18 16:14

我们知道在实际的项目开发中,是多人协同一起工作的,那么问题就来了,万一有同事不小心把你写的代码不小心删了,怎么办?跟你玩命.这个时候就需要一个对你们代码有一个好的软件来管理了,现在看一个实际开发中的问题描述:

1.1 小明负责的模块就要完成了,就在即将Release之前的一瞬间,电脑突然蓝屏,硬盘光荣牺牲!几个月来的努力付之东流——需求之一:备份

1.2 这个项目中需要一个很复杂的功能,老王摸索了一个星期终于有眉目了,可是这被改得面目全非的代码已经回不到从前了。什么地方能买到哆啦A梦的时光机啊?需求之二:代码还原

1.3 小刚和小强先后从文件服务器上下载了同一个文件:Analysis.java。小刚在Analysis.java文件中的第30行声明了一个方法,叫count(),先保存到了文件服务器上;小强在Analysis.java文件中的第50行声明了一个方法,叫sum(),也随后保存到了文件服务器上,于是,count()方法就只存在于小刚的记忆中了——需求之三:协同修改

1.4 老许是一位项目经理,我会告诉你他把每一个版本都保存一份吗?我会告诉你这些工程里其实有很多文件都是重复的吗?我会告诉你老许为这事删了很多电影吗?——需求之四:多版本项目文件管理

1.5 老王是另一位项目经理,每次因为项目进度挨骂之后,他都不知道该扣哪个程序员的工资!就拿这次来说吧,有个该死的Bug调试了30多个小时才知道是因为相关属性没有在应用初始化时赋值!可是二胖、王东、刘流和正经牛都不承认是自己干的!——需求之五:追溯问题代码的编写人和编写时间

1.6 小温这两天幸福的如同掉进了蜜罐里,因为他成功的得到了前台MM丽丽的芳心,可他郁闷的是这几天总是收到QA小组的邮件,要求他修正程序中存在的Bug,可他自己本地电脑上是没有这些Bug的,“难道我的代码被哪个孙子给改了?”。是的,小温没来的时候,丽丽是QA小组小郑的女朋友啊!——需求之六:权限控制


对问题的总结大概如下:

代码管理混乱

备份多个版本,占用磁盘空间大

解决代码冲突困难

容易引发BUG

难于追溯问题代码的修改人和修改时间

难于恢复至以前正确版本

无法进行权限控制

项目版本发布困难

SVN就能解决我们上述的问题,我们知道现在有个git分布式管理工具,这个后期讲,这就是我们为什么要使用svn来管理我们的代码了,


0 0