SVN简单概述及使用

SVN简单概述及使用

SVN是一款版本控制工具

SVN安装

下载地址http://subversion.apache.org/packages.html#windows

这里写图片描述

安装步骤:一路NEXT就可以了

SVN图形化界面安装

这里写图片描述

按照自己的电脑配置下载

这里写图片描述

安装过程:一路NEXT就可以了

SVN安装是否成功

打开DOS窗口,输入svnadmin –version 回车,查看是否安装成功

这里写图片描述

SVN 基本目录结构

  • bin – 可执行的二进制文件
  • iconv – 字符集编码的文件
  • licenses – 许可证协议
  • share – 本地语言转换

创建SVN的仓库

使用图形化界面的方式来创建

右键 -> TortoiseSVN -> Create repository here

这里写图片描述

基本目录结构

* conf          -- 配置文件(重点的配置文件)
    * svnserve.conf     -- SVN的配置文件
    * passwd            -- 用户名和密码的文件
    * authz             -- 权限认证的文件

* db            -- 版本数据存储目录
* hooks         -- 存放版本库勾子目录
* locks         -- 存储库锁目录,用来跟踪库的访问者

SVN简单配置 自启动管理

启动多仓库

svnserve -d -r C:\Repositories

设置自启动

sc create SVN-Service binpath= “C:\Program Files (x86)\Subversion\bin\svnserve.exe –service -r C:\Repositories” displayname= “SVN-Service” start= auto depend= Tcpip

按照自己安装条件更改路径

SVN安装地址:C:\Program Files (x86)\Subversion\bin\svnserve.exe
仓库地址: C:\Repositories

SVN简单操作

选择 svn checkout – 检出(第一次都需要检出资料,和svn的服务器取得同步)

svn的默认端口号是3690,使用协议:svn://localhost:3690/crm 来检出内容

创建文件,出现一个蓝色的 ? 号,说明该文件还没有被svn所管理,需要手动添加该文件。右键->TortoiseSVN->点击 add 完成添加

出现蓝色的 + 号,说明已经被svn管理了,但是没有与svn服务器同步

选中,右键点击提交,就可以与svn同步了

SVN配置用户

步骤一:找仓库中的conf/svnserve.conf

步骤二:修改配置文件

* anon-access = none            -- 匿名用户没有权限。(取值:none/read/write)        
* auth-access = write           -- 认证用户有读写权限
* password-db = passwd          -- 让passwd的文件生效
* authz-db = authz              -- 让authz的文件生效

步骤三 :打开passwd文件:设置用户名和密码

user1=123
user2=123

步骤四 :打开authz文件:设置用户的权限

[groups]
crmGroup=user1,user2

[/]
@crmGroup=rw
* = 

例如:

添加用户lgx,tom,timi,密码都为123,都有读写能力

这里写图片描述
这里写图片描述
这里写图片描述

SVN解决冲突

由于SVN默认使用版本号来管理版本的(类似于乐观锁),当两个人都修改了同一个文件,然后一个先提交了,后提交的用户就会产生冲突。。

例子:

模拟冲突,以及冲突的解决

1.创建使用两个用户tom,lgx获取仓库,在tom中创建User文件,并提交,文件内是空白的
这里写图片描述

这里写图片描述

2.lgx update仓库
这里写图片描述
tom更改文件,lgx也更改文件
这里写图片描述

3.tom 先提交,没有报错
这里写图片描述

4.lgx提交
这里写图片描述

这时候冲突问题就出现了

解决方法:
1. 先更新lgx仓库,会多出几个文件
这里写图片描述

  1. 删除多出的文件

3.打开冲突文件

这里写图片描述

<<<<<<< .mine 标注的就是自己的文件
>>>>>>> .r34 标注的是服务器文件 r34表示版本信息

根据实际情况更改冲突处

这里写图片描述

4.更改完后,提交就可以了,这样冲突就解决完成

基本步骤

* 先更新,然后删除掉多余的内容
* 再重新提交

Eclipse 使用 SVN插件

使用Eclipse直接安装插件
HELP -> 最后一个 -> 查找安装

这里写图片描述

Eclipse 使用SVN

1.添加SVN资源研究院

这里写图片描述

这里写图片描述

2.上传项目到仓库
新建动态web项目demo01
这里写图片描述
这里写图片描述
如果为创建过位置的时候就选择,否则就选择已有的资源位置
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

接下来会连续输入四次用户名和密码
这里写图片描述

这里写图片描述

提交到仓库

这里写图片描述

这里写图片描述

Eclipse 导入SVN仓库项目

选择SVN资源研究院
这里写图片描述

这里写图片描述
这里写图片描述

新建资源位置成功后

这里写图片描述

选择需要导出的项目,右键,检出为
这里写图片描述

这里写图片描述

Finish,即可发现已经导出成功

这里写图片描述

Eclipse SVN冲突解决

1. 在demo01添加User类,添加代码,然后提交:
这里写图片描述
添加代码:

package com.fjut;

public class User {
    public static void main(String[] args) {

    }
}

这里写图片描述

2.demo02更新

右键 -> 与资源库同步 -> 选择需要更新的文件 -> 右键 -> 更新

即可更新成功

3.demo01和demo02同时修改User类

demo01:
这里写图片描述

demo02:
这里写图片描述

4.demo01先提交,demo02后提交,然后demo02出现版本冲突错误

这里写图片描述

5.解决冲突
1)demo02先与资源库同步
这里写图片描述
2) 右键 与资源库同步
3) 选择发生冲突文件 右键 -> 更新
4 ) 根据自己的情况合并
5) 右键->标记为解决,提交

猜你喜欢

转载自blog.csdn.net/l1336037686/article/details/80427401