目录结构:

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使用方法
 如图,红色矩形框标记的都是一些比较常用的命令

  1. update 表示更新,默认更新到svn服务器上的最新版本
  2. commit 提交操作,提交对文件的修改
  3. resolve 已解决的,用于处理冲突
  4. revert  恢复,撤销对文件的更改(只能撤销未提交的修改)
  5. clean up  清理操作,用于处理一下被锁定的情况
  6. merge  合并
  7. add   添加,未加入版本控制的文件默认会有一个问号,可以通过add添加到版本控制

这里只大致描述一下,具体使用请结合实际多实践操作,如果您懒得下载,也可以在公众号CodeL留言发给你。

关于svn的使用这些文章都讲的很详细:

http://www.cnblogs.com/armyfai/p/3985660.html

http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2408089.html

SVN服务器&客户端的搭建和使用的更多相关文章

  1. 如何创建 SVN 服务器,并搭建自己的 SVN 仓库 如何将代码工程添加到VisualSVN Server里面管理

    如何创建 SVN 服务器,并搭建自己的 SVN 仓库,附链接: https://jingyan.baidu.com/article/6b97984dca0d9c1ca3b0bf40.html 如何将代 ...

  2. 【转】SVN服务器客户端以及环境的搭建和使用

    vss,cvs,svn三者都是版本控制工具 vss是锁定-编辑-解锁模式,svn虽然也支持锁定,但默认是修改-冲突-合并模式 vss的版本号对应的是单个文件,svn的版本号对应的是整个版本库 vss是 ...

  3. centos7 搭建svn服务器&客户端的访问&备份迁移

    当今用于版本控制的软件程序主要的有svn和git,其它软件咱不熟悉,今天记录下搭建svn服务器和svn客户端使用: 使用环境:虚拟机为centos7系统,svn服务器安装在centos7系统平台上,s ...

  4. Mac下SVN服务器环境的搭建和配置(除展示图片外,所有命令在Linux/Unix下适用)

    这几天领导没有安排工作,闲着没事就想把自己这两年做iOS开发时感觉知识有欠缺的地方想好好深入地补习一下,昨天和今天就计划好好学习下SVN和git的从创建和到原理,到命令,到界面的使用.一不小心被另一领 ...

  5. 如何创建 SVN 服务器,并搭建自己的 SVN 仓库

    SVN是一个广泛使用的版本控制系统,在日常工作中有广泛的应用空间,比如文档管理,我们就可以搭建一个 SVN 仓库,日常需要归类保存的文档统统上传到仓库中,那如何创建 SVN 服务器, 又如何搭建 SV ...

  6. 【SVN】SVN服务器的本地搭建和使用

    Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上了,下载地址: http:// ...

  7. SVN服务器的环境搭建(图文并茂)

    SVN服务器的搭建与使用 本章读完,就可以创建代码版本库,传送门 https://www.cnblogs.com/zzpython/p/13348009.html TortoiseSVN 是 Subv ...

  8. svn使用---在CentOS 7上搭建SVN服务器 及windows搭建svn步骤

    svn搭建方法: https://blog.csdn.net/helijie92902/article/details/51935122?foxhandler=RssReadRenderProcess ...

  9. SVN服务器+客户端安装和配置

    先安装客户端.然后安装语言包,然后去小乌龟svn里设置语言为中文. svnServer推荐 subversion和 VisualSVN 网盘下载 TortoiseSVN客户端         汉化包网 ...

随机推荐

  1. HubSpot – 网站开发必备的 jQuery 信息提示库

    HubSpot 一款功能丰富的 jQuery 消息提示插件.它可以帮助你个性化显示您的应用程序的事务性消息.您可以轻松地包裹 Ajax 请求进度,成功和错误消息,还可以添加操作链接到您的消息中. Hu ...

  2. 使用ruby搭建简易的http服务和sass环境

    使用ruby搭建简易的http服务和sass环境 由于在通常的前端开发情况下,我们会有可能需要一个http服务,当然你可以选择自己写一个node的http服务,也比较简单,比如下面的node代码: v ...

  3. angular源码分析:angular中jqLite的实现——你可以丢掉jQuery了

    一.从function JQLite(element)函数开始. function JQLite(element) { if (element instanceof JQLite) { //情况1 r ...

  4. JQuery插件Validation的使用-遁地龙卷风

    第二版 (-1)写在前面 本文不是要详细说明Validation插件的使用,而是将满足开发需求的代码已最应该使用的方式写出来,并附有详细的注释 想要了解更多,去jquery的官网,有最新,最全面的,后 ...

  5. CAGradientLayer的一些属性解析

    CAGradientLayer的一些属性解析 iOS中Layer的坐标系统: 效果: - (void)viewDidLoad { [super viewDidLoad]; CAGradientLaye ...

  6. Object-c字符串操作

    字符串操作: -(void) testString{ NSString *str1 = @"some string"; NSLog(@"%@", str1); ...

  7. Android SurfaceView的生命周期

    本文利用SurfaceView来实现视频的播放 本文地址:http://www.cnblogs.com/wuyudong/p/5851156.html,转载请注明源地址. 在main.xml布局文件添 ...

  8. iOS开发 - 兼容iOS 10

    1.Notification(通知) 自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到UserN ...

  9. .NET读写Excel工具Spire.XlS使用(DataExport )

    Introduction E-ICEBLUE is developing office.net component, the main products include Spire.Doc, Spir ...

  10. 2.2 CMMI2级——项目计划(Project Planning)

    大家都明白这样的一个道理:做事情要有计划,有一个不成熟的计划总比没有计划要好,软件开发这么复杂的活动,更加需要计划.那么应该怎样做好一个计划呢? 如果对项目的范围.规模.性质.任务.工作量.费用等都不 ...