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客户端 汉化包网 ...
随机推荐
- Numeral.js – 格式化和操作数字的 JavaScript 库
Numeral.js 是一个用于格式化和操作数字的 JavaScript 库.数字可以格式化为货币,百分比,时间,甚至是小数,千位,和缩写格式,功能十分强大.支持包括中文在内的17种语言. 您可能感兴 ...
- 免费素材:包含 250+ 组件的 DO UI Kit
DO UI kit 现在可以免费用于 Photoshop 和 Sketch 了.它有超过130个屏幕,10个完整的主题以及250+的组件混合以创造惊人的应用.他们都是再混合和视网膜.最重要的是他们看起 ...
- js异步方式
node.js的例子 1.回调 创建 main.js 文件 var fs = require("fs"); fs.readFile('input.txt','utf8', func ...
- float 和 inline-block的心得
float 优点: 横向排列时比较方便,不存在浏览器兼容问题. 缺点: 1)多行横向排行时,换行后经常不能顶行显示. 2)浮动后会跳出当前流,造成父元素高度塌陷,解决办法比较成熟统一 ,不存在浏览器兼 ...
- linux命令学习使用记录
1.文件批量重命名:把所有.xml文件重命名.txt,第一个参数为文件名中字符串,第二个参数为替换后文件名,第三个为当前目录文件列表 rename .xml .txt *.xml 2.解压不显示过程: ...
- Autodesk的照片建模云服务—Autodesk ReCap 360 photo
现实捕捉技术方兴未艾,简单的讲现实捕捉技术就是把现实中的现状信息数字化到计算机中以便做进一步的处理.对于不同的应用目的会有不同的捕捉设备,工程或传媒娱乐行业中经常用到的肯定就是三维模型了.那如何得到三 ...
- [Android]解决ClickableSpan中点击后ListView中item的长按冲突的问题
以下内容为原创,转载请注明: 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3823429.html 项目中碰到一个问题,情景是这样的: 有一个Lis ...
- Android Builder模式在开发中的应用
最近在学习图片加载框架Glide的时候,被他精简的写法震惊了.一句话,就可以搞定. Glide.with(mContext) .load(url) .centerCrop() .placeholder ...
- Android 沉浸式状态栏 实现方式二 ( 更简单 )
以前写过一个沉浸式状态栏 的实现方式 Android 沉浸式状态栏 实现方式一 现在有个更为简单的实现方式 . 相关链接 http://www.apkbus.com/forum.php?mod=vie ...
- 是否要学SpringMVC
如题,希望大侠们指出,不能用Spring就觉得他什么都好,本帖子意在实际工作中,对是否将Spring引入项目及如何更好的使用Spring提出启发式意见.目前已有高人表达了自己对Spring的不满,让我 ...