SVN 配置和使用
SVN使用环境
- 使用SVN管理源代码,必须有2套环境
- 服务器
- 用来存储客户端上传的源码
- 一般都是在Windows环境下安装Visual SVN Server
- 客户端
- 用来提交、回退、修改、下载等操作
- 服务器
一,在Windows安装Visual SVN Server
- 下载Visual SVN Server安装包
下载地址:百度网盘链接:https://pan.baidu.com/s/1jJWegi6 密码:d58v
官网下载:https://www.visualsvn.com/server/download/
- 打开安装包 --> next --> 同意协议 --> next --> 选择默认选项(安装SVN控制台)--> next --> 选择第一个按钮(标准版)--> next --> location:安装路径 Repositories:仓库路径 server Port:端口 旁边的https://选项不勾选(因为一般SVN都是在局域网,不会有安全问题)--> next -->Install --> 完成








二,创建SVN仓库
- 打开Visual SVN Server
- 右击Repositories --> 新建 --> Repository --> 设置仓库名称 --> 下一步 --> 选择第一项Enpty repository(空的仓库)--> 下一步 --> 设置访问权限(Nobody has access<无人能访问>、All Subversion users have Read/Write access<所有人可以读写>、Customize permissions<自定义访问>)因为是初始化仓库,所以先设置为没人能访问 --> 下一步 --> 完成





三,SVN仓库配置
- 在新建的仓库中新建文件夹(folder)Code:新建 --> Folder --> 文件夹名称 --> 完成

- 创建工程结构project structure(代码项目)。

创建完成后,目录结构下面会有trunk,branch,tags。

svn 目录结构,名称及功能说明:
Trunk: 主干代码 (用于新功能的开发)
Branch: 分支代码(用于解决项目路径中产生的bug)
Tags: 版本标记(测试通过后上线的版本记录)
- 创建用户:右击Users --> Create user --> User name:用户名 Password:密码 Confirm password:确认密码 --> 完成

- 创建用户组(iOS、Android):右击Groups --> Create Group --> Group name:组名 --> Add:增加成员 --> 完成

- 配置仓库用户权限:右击仓库 --> Properties --> Add:添加成员或组 --> Permissions:设置权限(NO Access<无权限>、Read Only<只读>、Read/Write<可读可写>)--> 应用

- 配置完成
四,测试SVN仓库链连接是否正常
- 测试连接:也叫本地连接,就是在搭建SVN的服务器上测试是否可以连接,步骤如下:
- 右键仓库 --> Copy URL to Clipboard --> 打开浏览器 --> 在地址栏粘贴,并回车 --> 输入用户名密码 --> 这样就连接上仓库了

- 远程连接:测试完毕后就可以将地址发放给成员使用了
- 服务器地址获取方式
- 在服务器端打开命令行工具 --> $ ipconfig --> IP Address就是我们服务器地址
- 拼接链接地址
- 格式:http://服务器地址/SVN仓库路径 (比如我的:http://10.200.0.202:8443/svn/hengxin/)
- 使用者打开浏览器 --> 在地址栏粘贴并回车 --> 输入用户名密码 --> 这样就连接上仓库了

以上为服务器端操作,下面为客户端操作
五,SVN图形化管理软件(subversion)使用
1.安装subversion
SVN是Subversion的简称,是一个开放源代码的版本控制系统
Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样就可以把档案恢复到旧的版本,或是文件的变动历史。
SVN是一个通用的软件系统,他不但可以用来管理程序源码,也可以管理任何类型的文件,如文本、视频、图片等等


安装路径最好不要更改,否则会出现下面的错误



当安装完毕后,随意右击一个文件夹,如果出现svn checkout的选项,说明svn安装成功。
2.TortoiseSVN Client基础操作
2.1检出(checkout)
检出目录---提取数据,将服务器上的文件下载到本地
右键单击文件夹-checkout,输入仓库地址

仓库地址可以从visual svn server服务器中查找

点击checkout后,会出现下面图标,说明检出成功

2.2增加(Add)
在test项目文件下,新建一个b.txt文件,提交到版本库的方法如下2种:
1. 先提到变更列表中,再commit到配置库中,选择新增文件,右键SVN菜单执行"Add"操作提交到"变更列表中",然后右键SVN菜单执行"SVN Commit"提交到版本库中。
2. 不提交到变更列表中,而是直接commit配置库中,选择该文件,右键svn菜单执行"SVN Commit"操作。注意,commit(提交)时可以添加message(备注)



2.3.提交
将本地更新的文件提交到svn服务器中
右键刚才检出的文件夹--“svn commit”

2.4,删除(Delete)
1.如果被删除的文件还未入版本库,则可以直接使用操作系统的删除操作删除该文件。
2.如果被删除的文件已入版本库,则删除的方法如下:
2.1选择被删除文件,右键svn菜单执行"delete"操作,然后选择被删除文件的父目录,右键svn菜单执行"SVN Commit".
2.2使用操作系统的删除操作删除该文件,然后选择被删除文件的父目录,右键svn菜单执行"SVN Commit",在变更列表中选择被删除的文件。如下图:

2.5,改名(Rename)
修改文件名,选中需要重命名的文件或文件夹,然后右键"TortoiseSVN->Rename",在弹出的对话框中输入新名称,点击"ok"按钮,并将修改文件名后的文件或文件夹通过 "SVN Commit"提交到SVN服务器上。

我们可以看到改名操作,实际上是把原来的文件删除,然后再添加一个文件的操作
2.6.SVN还原(SVN Revert)
右击想要回退的文件或者文件夹,在TortoiseSVN弹出菜单中选择"Update to reversion…" 然后会弹出一个窗口,如下:

比如说我们要回退到第10个版本只需要在Revision中填写相应的版本号,然后点击ok即可(或者在HEAD revision中点击Show log查看相应版本)。
版本号的查看:

比如我们想回退到第2个版本,那么,只需在版本号中输入2,点击OK即可。

2.7.检查更新(Check for modifications)
此功能可以显示你所做的修改有哪些还没有提交的,此功能不光能看到对文件的修改变化,所有的变化都能看到,包括增加文件或者目录,删除文件或者目录,移动文件或者目录等,如果你点击了检查版本库,那你还可以看到版本库里的改动,既别人提交了哪些文件的改动,你还没更新到本地,如下文件上显示感叹号说明有变动文件未提交:

2.8.SVN更新(SVN Update)
更新本地代码与SVN服务器上最新的版本一致,只要在需要更新的文件夹上点击右键或者在文件下空白处点击右键,选择"SVN Update" (获取指定版本中的内容,点击右键执行SVN菜单中的"Update to reversion"),就可以了。

2.9.版本冲突
为什么会产生冲突代码呢?原因很简单就是因为不同的人,同时修改了同一个文件的同一个地方,这时候,他提交了,我没有提交,我就提交不了,这个时候我们要进行先更新,然后在进行提交即可
使用revert(回滚)操作,该操作表示用户放弃自己的更新代码,然后直接提交,这个时候你的代码就会使用服务器上最新的代码,即A用户提交的新代码,你的代码不会被提交
第二种解决方法如下:
选择文件->右键Editconficts:这种方法需要冲突双方经过协商之后将代码更改统一之后再提交。不仅解决了冲突而且还保证了代码是正确的,因为只有一方的代码被提交.
接下来再说说由于冲突导致重要代码被覆盖的情况。冲突发生时如果采取的措施不对可能会导致部分代码丢失,如果想要还原之前的代码也很容易。
选择文件->右键选择show log在这里面你可以看见之前提交的所有版本,找到你想要恢复的版本右键选择revert to this version就可以恢复了.
2.10.版本库浏览(Repo-browser)
此功能是用来浏览需要查看的资料库,在本地文件夹下点击右键,选择TortoiseSVN->Repo-browser,在弹出的对话框中输入资料库地址,再输入用户名和密码,就能查看到你需要查看到版本库的内容,在这你还能看到那些文件被谁锁定了,如下图:

SVN 配置和使用的更多相关文章
- centos apache svn配置
单独安装svn服务: 安装svn软件 yum install subversion 创建根目录 mkdir -p /var/www/svn 创建版本库repos svnadmin create /va ...
- Eclipse插件SVN配置
Eclipse插件SVN配置 方法一 打开Eclipse点击[Help]-[Install New Software] 点击右边[Add]-在弹出窗口中输入 Name:svn Location:htt ...
- svn配置
svn配置 subverson.conf <Location /svn> DAV svn SVNListParentPath on SVNParentPath /var/repo Auth ...
- centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解
centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解 操作系统:centos 7.2 x86_64 安装walle系统服务端 1.以下安装,均在宿主机( ...
- Xcode SVN配置
Xcode SVN配置 编辑 ~/.subversion/config 文件 注意:假设".subversion"文件夹不存在.请执行"svn status" ...
- SVN配置钩子
安装测试环境:109 CentOS4.6 安装: SVN1.32http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz安装:解压 ...
- svn配置多仓库与权限控制
telnet: connect to address 47.106.115.228: Connection refused svn执行上下文错误由于目标计算机积极拒绝无法连接 标签: svn 2017 ...
- IntelliJ IDEA下SVN配置及使用
一.在IDEA中使用SVN,首先需要下载安装 TortoiseSVN 插件. 打开 TortoiseSVN 下载地址,选择适合自己的系统类型下载. 接下来,进行安装即可.选择Modify,默认 com ...
- SVN配置自启动-1053错误
主要内容:解决启动“配置的svn自启动服务”报1053错误 1. 环境: 系统: wind10 svn服务端版本: VisualSVN-Server-3.8.0-x64 2. 配置自启动 以管理员身份 ...
- SVN配置以及自己主动部署到apache虚拟文件夹
SVN配置以及自己主动部署到apache虚拟文件夹 一.VisualSVN server 服务端和TortoiseSVNclient下载 VisualSVN下载:http://subversion.a ...
随机推荐
- Hadoop书签
1)http://www.cnblogs.com/forfuture1978/archive/2010/03/14/1685351.html 2)http://www.cnblogs.com/sund ...
- JSONObject、JSONArray
最近两个星期接触最多的就是json和map了. 之前用到的json,就是一个键对应一个值,超级简单的一对一关系.现在用到的json那可以层层嵌套啊,刚开始接触的时候,确实有种崩溃的赶脚,不想去理,取个 ...
- linux -- Apache执行权限
最近在用php调用exec方法去执行一个linux终端下的命令,结果每次都不能执行成功,网上多番搜寻,最终找到一篇有用的文章,主要原因是因为Apache的执行权限的问题.以下是原文(稍加修改): 利用 ...
- php -- 读取文本文件内容
php读取文件内容的三种方法: //**************第一种读取方式***************************** 代码如下: header("content- ...
- 截取scrollview的滑动事件,传递给子控件
重写一个ScrollView public class MyScrollView extends ScrollView{ public MyScrollView(Context context, At ...
- Js注释和对象
1.注释 单行: //注释内容 console.log('加油~');//在控制台输出一条信息: 多行: /*注释内容*/: 2.对象 1)对象是一个复合值,是根据某种引用类型创建出来的实例. 2)常 ...
- python--list和tuple类型--2
原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/ 一.创建list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以 ...
- 【渗透测试学习平台】 web for pentester -5.代码执行
Example 1 http://192.168.106.154/codeexec/example1.php?name=".system('uname -a');// Example 2 h ...
- Python 使用正则表达式匹配电话号码
一个电话号码,如果区号为3位,那么区号后面的数字为8位:如果区号为4位,那么区号后面的数字为7位 In [1]: import re In [2]: number = "020-232432 ...
- mysql的if null 的用法
<!-- 查询 分页查询 --> <select id="queryByPageList" resultMap="weixinActivityResul ...