SVN服务器&客户端的搭建和使用

目录结构:
1. SVN服务器搭建和使用-VisualSVNServer
2. SVN客户端安装和使用-TortoiseSVN
3. TortoiseSVN使用方法
SVN简介
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的
一:SVN服务器搭建和使用。
1. 下载和搭建SVN服务器并添加版本库
下载:http://subversion.apache.org/packages.html
进入网址后,浏览器最底部看到如下截图:

点开上面的VisualSVN连接,下载VisualSVN server安装完成后,启动VisualSVN Server Manager,如图 :

现在开始创建版本库Rong,右键单击窗口的Repositores,如下图:

在弹出的右键菜单中选择Create New Repository或者新建Repository:

勾上Create default structure复选框后Rong目录下自动创建了3个文件夹,branches,tags,trunk:

三个目录初识:
trunk目录
主干目录,一般情况下是在此目录下进行代码的开发,这个目录应该存放最新的代码。实际开发中我是在branches建立开发分支进行开发,然后将最新代码合并到此目录。
tags目录
代码的版本标记,这个目录的代码不允许更改,比如,软件发了1.0版本,就需要将1.0版本的代码在tags中放一份拷贝,发了2.0,就要在tag中标记一个2.0。如果1.0软件出现了bug,开发人员要验证bug,直接从tag中取1.0版本的代码就可以了,不会把个个版本混淆。
branches目录
分支目录,用于开发新功能或解决老版本的bug。比如,1.0版本上线,开发人员全力投入2.0版本的开发,但是,1.0版本突然出现了一个bug必须要修复,而且很紧急,不能等到2.0版本上线,这时候该怎么办呢。正确的做法是,从tag中取1.0版本的代码,建立一个新的分支,开发人员在这个分支上解决1.0发现的bug,解决完成并测试通过之后,在tag中添加一个新的版本标记,比如1.1,然后关闭这个分支。如果1.1再出现bug,那么从1.1建立分支,以此类推,直到2.0出现。
2. 需要建立用户和组,并且需要分配权限。
a. 创建用户,在VisualSVN Server Manager窗口的左侧右键Users,选择Create User


b. 建立用户组,在VisualSVN Server Manager窗口的左侧右键Groups,选择Create Group,如图:

接下来我们需要给用户设置权限,在Rong上单击右键,选择属性,如图:

在弹出的对话框中,选择Security选项卡,点击Add按钮,选中指定用户组或用户,然后添加进来,权限设置为Read/Write, 这里我们不使用用户组直接指定用户,如下图:

设置权限后,只有指定组或指定用户对这个项目有相应的读写权限,这里只有test对Rong有读写权限。在实际使用中组和用户可以灵活使用,可以给项目指定对应的用户也可以指定相应的组。
到这里svn服务器端已经搭建完成,我们从下载安装一直到添加版本库Rong=>trunk,branches,tags目录
二:SVN客户端安装和使用
1. 下载TortoiseSVN进行安装
下载: http://tortoisesvn.net/downloads.html
以下是我下载的svn相关安装包,可以公众号CodeL留言获取:

上面的VisualSVN很好用,VisualSVN是SVN的客户端,和Visual Studio集成在一起,安装后在vs中就可以实现提交,更新及其他操作,如下图。
继续回到svn客户端安装,安装完成后,右键就可以看到如下:
2:checkout项目文件。 在本机某个目录下,右键 Svn Checkout (检出):

其中URL可以在SVN服务器获取到,在Rong目录右键

将复制的版本库URL粘贴上,如下图:

点击【ok】按钮后,就可以检索出来检出的时候会提示输入用户名和密码,就是在服务端创建的user的用户名和密码。
到这里 svn从服务器到客户端的搭建已经完成,并且我们已经将对于的版本库检出到本机上,剩下的就是学习TortoiseSVN的相关使用方法
三:TortoiseSVN使用方法
如图,红色矩形框标记的都是一些比较常用的命令
- update 表示更新,默认更新到svn服务器上的最新版本
- commit 提交操作,提交对文件的修改
- resolve 已解决的,用于处理冲突
- revert 恢复,撤销对文件的更改(只能撤销未提交的修改)
- clean up 清理操作,用于处理一下被锁定的情况
- merge 合并
- add 添加,未加入版本控制的文件默认会有一个问号,可以通过add添加到版本控制
这里只大致描述一下,具体使用请结合实际多实践操作,如果您懒得下载,也可以在公众号CodeL留言发给你。
关于svn的使用这些文章都讲的很详细:
http://www.cnblogs.com/armyfai/p/3985660.html
http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2408089.html
SVN服务器&客户端的搭建和使用的更多相关文章
- 如何创建 SVN 服务器,并搭建自己的 SVN 仓库 如何将代码工程添加到VisualSVN Server里面管理
如何创建 SVN 服务器,并搭建自己的 SVN 仓库,附链接: https://jingyan.baidu.com/article/6b97984dca0d9c1ca3b0bf40.html 如何将代 ...
- 【转】SVN服务器客户端以及环境的搭建和使用
vss,cvs,svn三者都是版本控制工具 vss是锁定-编辑-解锁模式,svn虽然也支持锁定,但默认是修改-冲突-合并模式 vss的版本号对应的是单个文件,svn的版本号对应的是整个版本库 vss是 ...
- centos7 搭建svn服务器&客户端的访问&备份迁移
当今用于版本控制的软件程序主要的有svn和git,其它软件咱不熟悉,今天记录下搭建svn服务器和svn客户端使用: 使用环境:虚拟机为centos7系统,svn服务器安装在centos7系统平台上,s ...
- Mac下SVN服务器环境的搭建和配置(除展示图片外,所有命令在Linux/Unix下适用)
这几天领导没有安排工作,闲着没事就想把自己这两年做iOS开发时感觉知识有欠缺的地方想好好深入地补习一下,昨天和今天就计划好好学习下SVN和git的从创建和到原理,到命令,到界面的使用.一不小心被另一领 ...
- 如何创建 SVN 服务器,并搭建自己的 SVN 仓库
SVN是一个广泛使用的版本控制系统,在日常工作中有广泛的应用空间,比如文档管理,我们就可以搭建一个 SVN 仓库,日常需要归类保存的文档统统上传到仓库中,那如何创建 SVN 服务器, 又如何搭建 SV ...
- 【SVN】SVN服务器的本地搭建和使用
Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上了,下载地址: http:// ...
- SVN服务器的环境搭建(图文并茂)
SVN服务器的搭建与使用 本章读完,就可以创建代码版本库,传送门 https://www.cnblogs.com/zzpython/p/13348009.html TortoiseSVN 是 Subv ...
- svn使用---在CentOS 7上搭建SVN服务器 及windows搭建svn步骤
svn搭建方法: https://blog.csdn.net/helijie92902/article/details/51935122?foxhandler=RssReadRenderProcess ...
- SVN服务器+客户端安装和配置
先安装客户端.然后安装语言包,然后去小乌龟svn里设置语言为中文. svnServer推荐 subversion和 VisualSVN 网盘下载 TortoiseSVN客户端 汉化包网 ...
随机推荐
- jQuery Pjax – 页面无刷新加载,优化用户体验
pjax 是 HTML5 pushState 以及 Ajax 两项技术的简称,综合这两个技术可以实现在不刷新页面的情况下载入 HTML 到当前网页,带给你超快速的浏览器体验,而且有固定链接.标题以及后 ...
- 经典 HTML5 & Javascript 俄罗斯方块游戏
Blockrain.js 是一个使用 HTML5 & JavaScript 开发的经典俄罗斯方块游戏.只需要复制和粘贴一段代码就可以玩起来了.最重要的是,它是响应式的,无论你的显示屏多么宽都能 ...
- InstantClick – 快速响应!让你的网站与众不同
尽管网络带宽不断增加,但网站并没有更快很多.这是因为最大的瓶颈在于页面加载的延迟.InstantClick 是一个很小的 JavaScript 库,大大加速你的网站响应速度. 在访问者点击一个链接之前 ...
- Mysql关键字 Mysql保留字列表 Mysql字段名
Mysql保留字列表.吠品整理. 尝试使用一个识别符,例如使用嵌入式MySQL 数据类型或函数名作为表名或列名,例如TIMESTAMP 或GROUP,会造成一个常见问题.允许你这样操作( 例如,ABS ...
- 小谈React、React Native、React Web
React有三个东西,React JS 前端Web框架,React Native 移动终端Hybrid框架,React Web是一个源码转换工具(React Native 转 Web,并之所以特别提出 ...
- Oracle中用随机数更新字段----将一张表的数据插入另一张表----环境设置
DECLARE CURSOR recordCursor IS SELECT longitude,latitude FROM WR_WIUST_B_SEC FOR UPDATE; recordRow r ...
- An interesting experiment on China’s censorship
This paper presented a very interesting topic. Censorship in China has always drawn people's attenti ...
- 操作系统开发系列—11.ELF格式 ●
ELF文件的结构如下图所示: ELF文件由4部分组成,分别是ELF头(ELF header).程序头表(Program header table).节(Sections)和节头表(Section he ...
- App 即时通讯 SDK
1.网易云信 http://netease.im/ 2.环信 http://www.easemob.com/customer/im 3.融云 http://www.rongcloud.cn/ 4.极光 ...
- 如何优化TableView
关于UITable的优化: 1.最常用的就是不重复生成单元格,很常见,很实用: 2.使用不透明的视图可以提高渲染速度,xCode中默认TableCell的背景就是不透明的: 3.如果有必要减少视图中的 ...