一、 版本控制和 SVN 入门

1. 什么是版本控制

a) 只要进行团队软件开发,就会涉及源代码的合并共享以及带来的相关问题

  1. 代码如何合并(手工合并几乎不可能)
  2. 历史版本的保存(各个版本间有大量重复,多大变化算一个版本)
  3. 跟踪哪些代码是谁修改(每个代码都写上注释说明作者?故意写成别人呢)
  4. 以上问题不解决,就会影响团队开发效率

b) 如何有效解决以上问题呢?这就需要版本控制

c) 目前计算机开发领域流行的是采用专门的版本管理软件来进行管理,大大提高了效率

2. 常用版本管理软件

a) VSS:Microsoft 提供,Window 平台,小型开发团队所适合的工具。

b) CVS:开源工具,跨平台。绝大多数 CVS 服务已改用 SVN。CVS 已停止维护

c) SVN(Subversion):开源,跨平台,在 CVS 的基础上开发。使用企业众多,稳定安全,操作简单。集中式版本控制系统。

d) GIT:开源的分布式版本控制系统,用以有效高速的处理从很小到非常大的项目版本管理。(GITHUB 是一个用 GIT 做版本控制的项目托管平台,B/S 架构。放到 GITHUB 上的代码需要开源,并且是互联网开发)




TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_visualsvn 删除版本


集中式

TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_visualsvn 删除版本_02

分布式


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


TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_visualsvn 删除版本_03


TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_svn版本回退上一个版本_04


2. 创建版本库

a) 创建默认结构 use default struction

b) 默认结构的含义

  • trunk:主干 开发时代码存储的位置,永远是最新的代码
  • brank:分支 在不影响 Trunk 其它用户情况下进行一些关于新功能的探索性或实验性的开发,待新功能完善后它也可以合并到 Trunk 中
  • tags:标签 历史版本 阶段性里程碑版本 比如 1.0 2.0 3.0


TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_svn合并分支到主干_05

启动VisualSVN Server

TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_tortoisesvn安装_06

创建版本库

TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_visualsvn 删除版本_07

创建版本库

TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_svn合并分支到主干_08

完成创建

3. 创建用户


TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_版本库_09

点击创建用户

TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_版本库_10

设置用户名字和密码

4. 创建组和为组指定用户


TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_svn版本回退上一个版本_11

点击创建组

TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_svn版本回退上一个版本_12

设置组名以及添加用户

按Ctrl或Shift然后配合鼠标就可以实现添加多个用户。

5. 为组指定对版本库的操作权限

a) 默认 everyone 具有 read/write 权限,无法删除,要修改为 No Access


TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_tortoisesvn安装_13

点击查看属性

TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_svn版本回退上一个版本_14

默认 everyone 具有 read/write 权限

TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_版本库_15

修改为 No Access

TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_tortoisesvn安装_16

添加用户

TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_visualsvn 删除版本_17

对用户设置权限

6. 通过浏览器访问服务器端


TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_版本库_18

复制地址

TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_版本库_19

通过浏览器访问,登录用户名和密码

TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_svn合并分支到主干_20

登录成功

注意:因为浏览器有缓存功能,所以要想用其他用户名登录,需要清除浏览器的缓存。

例如点开火狐浏览器的设置—>我的足迹—>历史—>清除最近的历史记录。


TortoiseSVN 合并代码生成保留日志 svn合并代码到主干_svn合并分支到主干_21