SVN入门

China☆狼群 提交于 2020-01-24 17:54:10

一、版本控制和SVN入门

1. 什么是版本控制

  • 只要进行团队软件开发,就会涉及源代码的合并共享以及带来的相关问题:
    a.代码如何合并(如果开发人员过多,手工合并几乎不可能)
    b.历史版本的保存(各个版本间有大量重复,多大变化算一个版本)
    c.跟踪哪些代码是谁修改(每个代码都写上注释说明作者?故意写成别人呢)
    若以上问题得不到解决,则会影响团队开发效率
  • 如何有效解决以上问题呢?这就需要版本控制
  • 目前计算机开发领域流行的是采用专门的版本管理软件来进行管理,大大提
    高了效率

2.常用版本管理软件

  • VSS:由Microsoft 提供,但仅支持Window 平台,是小型开发团队所适合的工具。
  • CVS:开源工具,可跨平台。但版本较老,绝大多数 CVS 服务已改用其升级版SVN。CVS 已停止维护。
  • SVN(Subversion):开源,跨平台,其在 CVS 的基础上开发。使用企业众多,稳定安全,操作简单。是集中式版本控制系统。
  • GIT:开源的分布式版本控制系统,用以有效高速的处理从很小到非常大的项目版本管理。(GITHUB 是一个用 GIT 做版本控制的项目托管平台,B/S 架构。放到 GITHUB 上的代码需要开源,并且是互联网开发)。但由于放在上面的项目必须开源,因此商务代码就不适合使用其托管。

3.SVN

传统的 SVN 是通过命令进行操作的,现在一般通过 GUI 形式使用 SVN
a.服务器端使用 Visual SVN(GUI)
b.客户端1:TortoiseSVN 第三方客户端(GUI),功能强,使用范围广
c.客户端2:subclipse Eclipse 的插件 第三方客户端(GUI),eclipse 下使用更方便
TortoiseSVN 功能更强、使用范围更广,但是 eclipse 下使用 subclipse 更方便

4.SVN安装包下载地址

visualSVN及subclipse插件:visualSVN安装包及subclipse插件下载地址

二、服务器端 Visual SVN

1. 安装软件

在这里插入图片描述
在这里插入图片描述

2. 创建版本库

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

3. 创建用户

users–>create user

4. 创建组及添加组成员

在这里插入图片描述

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

默认 everyone 具有 read/write 权限,无法删除,要修改为 no access、只读、读写
在这里插入图片描述
在这里插入图片描述

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

选择已经创建的版本库—>copy URL to clipboard
然后在浏览器粘贴网址,登录对应的用户即可

三、客户端 subclipse

1.简介

subclipse=subversion+eclipse,一个为 Eclipse 添加 Subversion 支持的插件。支持几乎所有版本的 Eclipse

2.安装

解压后将其中的 features 和 plugin 文件夹放入 Eclipse 的 dropins 目录下。
重启eclipse。安装后在 window------preferrences——team 中可以看到 SVN

3.提交项目到服务器端

a. 选中项目右键--------team----share project----选择 SVN
在这里插入图片描述
b.提交版本位置、用户名、密码都会由相关服务器管理人员提供。
在这里插入图片描述
c. 可以选择记住密码,避免多次的重复输入。
注意:无论是提交项目还是导入项目,每次操作都会多次重复输入用户名和密码
d. 提交后会跳到 team synchronizing view,还需要真正同步代码到服务器,同步之前可以选择哪些代码不需要使用 svn 进行管理
e. 提交成功后可以观察版本库容量的变化
f.提交成功后客户端项目会显示专门的标记,并且增加了相应的.svn 项目(.svn属于隐藏文件),来存储操作记录。.svn 项目大小约等同于项目文件大小,因此提交后项目大小会变为原来的2倍
在这里插入图片描述

4. 断开和服务器连接

team—断开连接--------从项目中删除 SVN 元信息
在这里插入图片描述

5. 客户端从 SVN 检出项目

方法一:new— Project…--------SVN----从 SVN 检出项目
方法二:import—SVN----从SVN检出项目

6.更新和提交操作

a.更新将服务器最新代码更新到本地;提交是将本地最新代码提交到服务器
b. 提交之前要先更新,因为可能其他程序员期间以及提交了最新代码到服务器
c. 提交一定要给出注释,对提交内容进行说明,作为以后辨别版本的主要依据

7. 解决冲突

a.模拟两个用户对一个类进行修改,分别修改相同的方法和增加一个新方法
b. 更新后出现冲突,和冲突方沟通后,对冲突文件给出最终解决方案
c. 还需要 team----标记为解决,相应冲突文件为自动删除,当前文件由冲突状态转换为已修改状态,待提交

8. 还原没有提交的代码

team----还原

9.还原已经提交的代码

a.如果最新的代码出现问题,可以直接修改,也可以回滚到之前的某个历史版本,直接使用或者进行修改
b.查看资源历史记录
c.根据注释确定要还原的版本,无法确定可以查看或者比较代码
d.确定版本后,右键选择”从修订班 x 回复更改”
e.可能出现冲突,解决后提交代码到服务器

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!