一、 版本控制和 SVN 入门
1. 什么是版本控制
a) 只要进行团队软件开发,就会涉及源代码的合并共享以及带来的相关问题
- 代码如何合并(手工合并几乎不可能)
- 历史版本的保存(各个版本间有大量重复,多大变化算一个版本)
- 跟踪哪些代码是谁修改(每个代码都写上注释说明作者?故意写成别人呢)
- 以上问题不解决,就会影响团队开发效率
b) 如何有效解决以上问题呢?这就需要版本控制
c) 目前计算机开发领域流行的是采用专门的版本管理软件来进行管理,大大提高了效率
2. 常用版本管理软件
a) VSS:Microsoft 提供,Window 平台,小型开发团队所适合的工具。
b) CVS:开源工具,跨平台。绝大多数 CVS 服务已改用 SVN。CVS 已停止维护
c) SVN(Subversion):开源,跨平台,在 CVS 的基础上开发。使用企业众多,稳定安全,操作简单。集中式版本控制系统。
d) GIT:开源的分布式版本控制系统,用以有效高速的处理从很小到非常大的项目版本管理。(GITHUB 是一个用 GIT 做版本控制的项目托管平台,B/S 架构。放到 GITHUB 上的代码需要开源,并且是互联网开发)
集中式
分布式
3. SVN
a) 传统的 SVN 是通过Dos命令进行操作的,现在一般通过 GUI 图形界面形式使用 SVN
b) 服务器端 Visual SVN(GUI)
c) 客户端:TortoiseSVN 第三方客户端(GUI)
d) 客户端:subclipse Eclipse 的插件 第三方客户端(GUI)
e) TortoiseSVN 功能更强、使用范围更广,但是 eclipse 下使用 subclipse 更方便
二、 服务器端 Visual SVN
1. 安装软件
VisualSVN-Server-2.5.7.msi
4.8M
·
百度网盘
a) 指定软件安装位置和版本库位置
b) 默认端口 443
c) 使用 SVN authentication
2. 创建版本库
a) 创建默认结构 use default struction
b) 默认结构的含义
- trunk:主干 开发时代码存储的位置,永远是最新的代码
- brank:分支 在不影响 Trunk 其它用户情况下进行一些关于新功能的探索性或实验性的开发,待新功能完善后它也可以合并到 Trunk 中
- tags:标签 历史版本 阶段性里程碑版本 比如 1.0 2.0 3.0
启动VisualSVN Server
创建版本库
创建版本库
完成创建
3. 创建用户
点击创建用户
设置用户名字和密码
4. 创建组和为组指定用户
点击创建组
设置组名以及添加用户
按Ctrl或Shift然后配合鼠标就可以实现添加多个用户。
5. 为组指定对版本库的操作权限
a) 默认 everyone 具有 read/write 权限,无法删除,要修改为 No Access
点击查看属性
默认 everyone 具有 read/write 权限
修改为 No Access
添加用户
对用户设置权限
6. 通过浏览器访问服务器端
复制地址
通过浏览器访问,登录用户名和密码
登录成功
注意:因为浏览器有缓存功能,所以要想用其他用户名登录,需要清除浏览器的缓存。
例如点开火狐浏览器的设置—>我的足迹—>历史—>清除最近的历史记录。