SVN的视频进行了两遍,第一遍基本上没什么感觉,晕晕的,今天来到机房,配置了一下服务器的库,和自己的机器感觉有点感觉了。讲的基本上都懂了。
自己组里的数据库和图都已完善,今天看了一下又看了一遍SVN的视频,总结下该开始分工进行代码了。
首先SCM
SVN的前辈,不过已经有被SVN超越的势头,SVN解决了SCM中的一些问题,,比SCM要好用。长江后浪推前浪,很正常。
SCM解决的问题
To the software engineer
--更改源文件,不知道哪个是最新版的。
--不了解文件的修改过程,不知道修改了哪几行
-- Make(将大家的工作结合到一起)时,经常用错文件的版本
--多人修改一个文件,有些人的结果被冲掉了;
--花了一周时间,终于查处了一个错误,但发现有个同事上周前已经修改了同样的错误,但我却不知道,造成浪费。
To project manager
--整个项目由若干部分组成,项目初期各人做各人的一部分,后期合并联调,但是周期很长,达数周甚至数月,开销非常大;
--调试过程中,经常出现“扯皮”,搞不清楚哪的问题
--版本太多,有的太旧,查看不方便。
--估计项目成员的工作进度和工作成果比较困难。
To the boss
--交付给用户的产品“缺斤少两”,用户在安装时才发现问题
--用户使用时发现的问题不能够及时得到解决
--不能过确切了解项目的进度,总是得到“差不多”“大概”之类的模糊回答公司的运作过程无法控制,“不按我说的做”
SVN核心功能
版本控制
不仅控制源代码的版本,文件,图标,设计等等都有版本控制
版本控制的基本概念
Repository(库) 最基本的概念,就是把所有的工程都放到这个库中。
Workspace(工作台)
Delta:Version 的变化
分为Forward Delta 和 Backward Delta

Baseline(基线)
Branch (分支)
可以是从主干上分出一份,有时候就是把一个类似的系统复成程两份,然后根据不同的需求来做开发。
Label(tag) 标签
SVN主要功能
Build & Release System
职位:Release Manager
整合:把所有人的工作整合到一起,这个过程一般是自动化的,通过Makefile(脚本程序)来把不同人工作成果自动化的构建到一起。
Nightly Build Support
每夜构建,这个过程之所以叫做没夜构建,是因为这个过程一般是在晚上进行,而不影响白天的工作,也可以是隔几天构建一次。
Coordinative Work
不同地域可以共同开发,比如一些开源项目。
Problem Solving
开发人员开发重复了可以合并(merge)
Build Release
给每一个发布的文件都加上标签
谁会用到SVN系统
Project manager 项目经理
Software engineer 软件工程师
QA manager 测试经理
QA engineer 测试人员
Build and release engineer 构建工程师
理论上的东西基本上都晦涩难懂,但是听了比不听强。SVN功能很强大,刚知道了点皮毛,还得在实践中学习。
合作开发进行中,日子很充实。
623

被折叠的 条评论
为什么被折叠?



