SSH框架之辅助工具SVN安装与使用
目录
1、SVN
2、Eclipse整合SVN
内容
1、SVN概述
1.1. svn的概述
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。解决团队开发中的代码管理的问题
1.2. 如果没有svn,一般会遇到的问题
代码管理混乱、备份多个版本,占用磁盘空间大、解决代码冲突困难、 容易引发BUG、难于追溯问题代码的修改人和修改时间、难于恢复至以前正确版本、 无法进行权限控制、项目版本发布困难
使用SVN工具,就可以管理上述的这一类问题!!
1.3. 简单的术语
* 仓库
* 提交
* 检出/更新
1.4. 常用的版本的控制工具
* VSS、CVS、SVN、GIT
2、SVN体系结构
2.1SVN的仓库
* DB --使用数据库作为SVN的仓库
* FSFS --使用系统文件方式作为SVN的仓库(推荐)
2.2SVN仓库的访问(SVN的服务器)
* 整合Apache形式:http协议访问仓库
* svnserve的方式:使用命令开启SVN的服务,使用SVN的协议访问
2.3 SVN的客户端
命令行访问
图像化界面
3、安装SVN服务器
3.1. 双击Setup-Subversion-1.6.5.msi文件,注意自己的安装路径。点击next即可!!
* 安装完成后,打开DOS窗口,输入svnadmin --version 回车,查看是否安装成功!!
* 如果发现安装不成功,拷贝C:\Program Files (x86)\Subversion\bin路径,到环境变量的path配置一下就可以了!!
3.2 可以了解一下svn安装后的目录结构
* bin --可执行的二进制文件
* iconv --字符集编码的文件
* licenses -- 许可证协议
* share --本地语言转换
4、创建SVN仓库(必须要先创建仓库,才能启动svn服务)
4.1. SVN已经安装完成了,下面需要创建SVN的仓库
* 在某一个盘下创建文件夹,随意创建。例如:在C盘下创建Repositories文件,一个仓库可以存放多个项目,在Repositories文件夹中再创建多个子文件夹。代表不同的项目
4.2. 可以使用命令的方式或者图形化界面的方式来创建
* 命令的方式:svnadmin create d:\Repositories\crm
4.3. 仓库创建好后,有如下的一些目录结构
* conf --配置文件(重点的配置文件)
* svnserve.conf -- SVN的配置文件
* passwd --用户名和密码的文件
* authz --权限认证的文件
* db --版本数据存储目录
* hooks --存放版本库勾子目录
* locks --存储库锁目录,用来跟踪库的访问者
4.4. 启动仓库
1. 启动仓库分成两种主要的形式
* 单仓库启动(只启动其中的一个仓库)
* 多仓库启动(启动所有的仓库)
2. 启动仓库的方式有三种
* 命令行启动
* 单仓库启动:
* svnserve -d -rC:\Repositories\crm
* 多仓库启动:
* svnserve -d -r C:\Repositories
* 使用批处理文件的方式启动,先创建一个批处理的文件,在该文件中复制如下命令.bat
* 单仓库启动:
* svnserve -d -rC:\Repositories\crm
* 多仓库启动:
* svnserve -d -r C:\Repositories
* 在系统上注册服务的方式,以后只要电脑一开机就自动启动了,注意:以下命令不要复制错误了!!
* 命令:sccreate SVN-Service binpath= "D:\Java_SVN\bin\svnserve.exe --service -rD:\Repositories" displayname= "SVN-Service" start= auto depend=Tcpip
* 注意修改的地方1:C:\Program Files (x86)\Subversion\bin是自己的安装路径
* 注意修改的地方2:C:\Repositories创建的路径(多仓库启动的方式)
* 系统提示权限不足。使用管理员权限运行dos窗口
* services.msc进入管理
* sc delete SVN-Service
5、SVN客户端的使用
5.1图像化界面的使用
5.1.1. 模拟两个人同时使用SVN的环境,使用图形界面进行文件的提交和更新的操作
5.1.2. 简单的操作
* 选择svn checkout -- 检出(第一次都需要检出资料,和svn的服务器取得同步)
* svn的默认端口号是3690,使用协议:svn://localhost:3690/crm 来检出内容
* 创建文件,出现一个蓝色的 ? 号,说明该文件还没有被svn所管理,需要手动添加该文件。点击 add 完成添加
* 出现蓝色的 + 号,说明已经被svn管理了,但是没有与svn服务器同步
* 选中,右键点击提交,就可以与svn同步了
5.1.3. 如果没有提交成功,说明现在是没有权限的,可以先设置简单的权限
* 简单的设置权限的版本
* 1.打开crm的仓库
* 2.找到仓库:conf/svnserve.conf
* anon-access = write ---匿名用户可读,可写.
5.1.4. 其他人就可以来更新代码了
5.2设置权限
* 步骤一:找仓库中的conf/svnserve.conf
* 步骤二:修改配置文件
* anon-access = none -- 匿名用户没有权限。(取值:none/read/write)
* auth-access = write -- 认证用户有读写权限
* password-db = passwd -- 让passwd的文件生效
* authz-db = authz -- 让authz的文件生效
* 步骤三 :打开passwd文件:设置用户名和密码
xx=123
yy=123
* 步骤四 :打开authz文件:设置用户的权限
[groups]
crmGroup=xx,yy
[/]
@crmGroup=rw
* =
5.3代码冲突问题
5.3.1. 两个人都修改了同一个文件,然后一个先提交了,后提交的用户就会产生冲突。
5.3.22. 后提交的人需要来解决冲突
* 先更新,然后删除掉多余的内容
* 再重新提交
乐观锁机制
6、eclipse整合SVN
6.1. 在Eclipse中安装svn的插件
* 先退出Eclipse
* 步骤一:下载site-1.10.11.zip
* 将其解压
* features
* plugins
* 步骤二:创建一个文件夹svn,将两个文件夹copy到svn路径下
* 步骤三:打开Eclipse安装路径:
* eclipse\dropins
* 步骤四:将svn的文件夹copy到dropins路径
* 步骤五:重新启动Eclipse