SVN安装配置和使用教程
注意:location :为安装文件位置,Repositories:为管理的代码仓库的位置,若选中Use secure connection前面的Checkbox,则表示安全连接【https】,这里的端口有433/8433可用,若未选中Checkbox,默认端口80/81/8080,身份认证选择Subversion。
二、客户端安装
点击完成安装。
三、服务端的配置和使用
添加一个代码库:
在文本框中输入代码库的名称
未选中上面的复选框,代表建立一个空的代码库,若选中则会创建三个子目录
创建完代码库后,里面内容为空,一会将介绍如何迁入源代码
下面我们开始安全性设置,在左侧的Users 上选择Create User
然后将创建的User添加到刚才创建的项目里,选择刚才创建的项目Project,右键选择Properties…
点击Add…
选择创建的Users,点击OK
Permissions表示选择用户权限,有四种选择
1、Inherit from parent 从父用户中继承
2、No Access 不允许访问
3、Read Only只读访问
4、Read/Write 可读可写
点击确定
四、客户端的基本使用方法
1、签入源代码到SVN服务器
假设我们使用Visual Studio在文件夹SetUp中创建一个项目,我们要把这个项目的源代码签入到SVN Server上的代码库中,首先右键点击SetUp文件夹,右键菜单如下:
点击Import…
其中http://192.168.0.101/为服务器的IP地址,svn是代码仓库的根目录,Project是我们添加的代码库,右下角的Checkbox在第一次添加的时候没有用,以后签入时可选择忽略的文件,点击OK。弹出下面窗体,要求输入凭证
若选中Save outhentication复选框,可以保存输入凭证。
在上面输入用户名和密码,点击OK。
如上,源代码已经签入到SVN服务器上了,下面我们来看看SVN服务器上是否存在签入的源代码
3、签出源代码到本机
在本机上创建文件夹SetUp,右键点击SVN Checkout…弹出如下窗体
在上图中URL of Repository:下的文本框输入svn server中代码库的地址,其他默认,点击OK按钮,就开始签出源代码了
说明:上图中Checkout Depth,有四个选项,分别是签出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认是第一项。
打开SetUp目录,可以看到如下的文件夹结构:
一旦对文件或文件夹做了任何修改,那么文件或文件夹的显示图片会发生变化。下面修改二个文件:
修改的为eSuperMap.lic和Config文件夹下的文件
下面看一下不同状态下的所对应的图片
4、提交修改后的文件到SVN服务器
我修改的是electric_inspection下的文件夹,右键点击electric_inspection选择SVN Commit…
点击OK,弹出如下对话框
5、添加新文件到SVN服务器
我们在electric_inspection添加eSuperMap.lic,在electric_inspection文件下的空白处点击右键,点击SVN Commit…,和上面讲的提交改过的文件到SVN服务器一样,就可以了,另外也可以在文件eSuperMap.lic上点击右键,点击TortoiseSVN,这样并没有将这个文件提交到SVN服务器,只是将这个文件标记为源代码库中的文件,并将其状态设置为修改状态。之后,我们要再SVN Commit这个文件一次,才能将其真正提交到SVN服务器上的代码库中。类似添加文件夹也是一样。
6、更新本机代码与SVN服务器上最新的版本一致
这个只需要在需要更新的文件夹上点击右键或在该文件下的空白处点击右键,点击SVN Update,就可以了。
注意:更新操作可能会因为版本冲突而失败,这时可以使用合并【Merge】或其他解决方法,也可能因为锁定【Get Lock】而失败,这是需要先解锁【Release Lock】。
7、重命名文件或文件夹,并将修改提交到SVN服务器
只要在需要重命名的文件或文件夹上点击右键,点击TortiseSVN=>>Rename…,
在弹出的窗体中输入新名称。此方法也不是直接重命名,而是将该文件或文件夹的名称标记为重命名后的名称,也需要我们使用SVN Commit提交到SVN服务器。
8、删除文件或文件夹,并将修改提交到SVN服务器
最简单的是直接删除文件或文件夹,然后使用SVN Commit提交更新到SVN服务器。另外一种方法是在你要删除的文件或文件夹上点击右键Tortoise=>>Delete删除,此方法也不是直接删除,而是将文件或文件夹的状态设置为删除,也需要我们使用SVN Commit提交到SVN服务器后才真正删除。
说明:实际上,从你把源代码签入SVN服务器开始,每一个版本的数据和文件,就是你已经删除了的,也都可以随时签出。
注意:向SVN服务器提交源代码的时候,一定不要提交bin,obj等文件夹,否则很麻烦,但是web项目的bin目录除外,但是web项目的bin目录中的引用其他项目而生成的dll不需要提交。
其次:如果项目中引用其他的第三方控件的程序集,最好不要简单的从他们的安装位置引用,而是在你的解决方案下,添加一个Library的目录,将需要的程序集复制到这里,然后从Library目录引用。
SVN安装配置和使用教程的更多相关文章
- SVN安装配置及安全注意事项
两个脚本: svn遍历脚本.zip wooyun上也是已经有非常多的svn泄露网站信息的事件,有的甚至由此导致整个服务器沦陷: WooYun: [盛大180天渗透纪实]第四章.SVN猎手 (某站SVN ...
- windows Sever 2012下Oracle 12c安装配置方法图文教程
windows Sever 2012下Oracle 12c安装配置方法图文教程 Oracle 12c安装配置方法图文教程,具体内容如下 1.我们开启虚拟机 2.Windows Sever 2012启动 ...
- mysql 5.7.12 winx64安装配置方法图文教程
这篇文章主要为大家分享了mysql 5.7.12winx64安装配置方法图文教程,感兴趣的朋友可以参考一下 之前安装mysql时未做总结,换新电脑,补上安装记录,安装的时候,找了些网友的安装记录, ...
- mysql 5.7以上版本安装配置方法图文教程(mysql 5.7.12\mysql 5.7.13\mysql 5.7.14)(转)
http://www.jb51.net/article/90302.htm ******************************* 这篇文章主要为大家分享了MySQL 5.7以上缩版本安装配置 ...
- 在linux下安装配置rabbitMQ详细教程
在linux下安装配置rabbitMQ详细教程 2017年12月20日 17:34:47 阅读数:7539 安装Erlang 由于RabbitMQ依赖Erlang, 所以需要先安装Erlang. Er ...
- 从subversion开始(svn安装配置全过程(+全套安装文件与配置文件))…..
从subversion开始(svn安装配置全过程(+全套安装文件与配置文件))-.. 博客分类: 工具使用 SVNsubversion配置管理Apache应用服务器 </div> 花了一 ...
- CodeBlocks的安装配置以及使用教程
CodeBlocks的安装配置以及使用教程 教程写的很啰嗦,本来几句话就能搞定的,但为了照顾到那部分真正的小白还请大家见谅! 一.下载 前往CodeBlocks官网下载带编译器的版本,目前的最新版本为 ...
- SVN+FTP服务器搭建(一)——SVN安装配置篇
Subversion是一个自由,开源的版本控制系统.在Subversion管理下,文件和目录可以超越时空.Subversion将文件存放在中心版本库里.这个版本库很像一个普通的文件服务器,不同的是,它 ...
- subversion(SVN)安装配置
简介subversion(简称svn)是近年来崛起的版本管理软件系统,是cvs的接班人.目前,绝大多数开源软件都使用svn作为代码版本管理软件.Subversion是一个版本控制系统,相对于的RCS. ...
随机推荐
- Hibernate中的inverse
inverse inverse的英文意思是反向的,倒转的 Hibernate配置文件中的inverse正是这一真实反映,inverse属性只在Hibernate配置文件的集合元素上(list,set, ...
- Java面向对象编程之异常处理机制
一:Java的异常处理机制的优点: 1:把各种不同情况的异常情况分类,使用JAVA类来表示异常情况,这种类被称为异常类.把各种异常情况表示成异常类,可以充分的发挥类的可扩展性和可重用性. 2:异常流程 ...
- C#中excel导入sql
using Microsoft.Office.Interop.Excel; public int ledinExcel(string file, object sender, EventArgs e) ...
- swift UIImage加载远程图片和圆角矩形
UIImage这个对象是swift中的图像类,可以使用UIImageView加载显示到View上. 以下是UIImage的构造函数: init(named name: String!) -> U ...
- QT 常用控件一
QWidget 创建窗口 如果widget未使用腹肌进行创建,则在显示时视为窗口或顶层widget. 由于顶层widget没有父级对象类来确保在其不再使用时删除,所以需要开发人员在应用程序中对其进程跟 ...
- node基础02:第一个node程序
1.第一个web服务器 var http = require("http"); http.createServer(function(request, response){ res ...
- 【软件编程】乐易贵宾VIP教程 - JS改写+网页操作系列教程
JS改写系列教程: 1.MD5加密改写教程(爱拍网登录)2.解密如何快速找到真确的js加密算法3.多重MD5加密改写教程(5173登录)4.DZ论坛登录加密改写5.唯品会手机登录加密改写6.新浪微博密 ...
- 详解c++指针的指针和指针的引用
展示一下使用指针的指针和指针的引用修改传递给方法的指针,以便更好的使用它.(这里说的指针的指针不是一个二维数组) 为什么需要使用它们 当我们把一个指针做为参数传一个方法时,其实是把指针的复本传递给了方 ...
- Web Worker 是什么鬼?
前言 前端工程师们一定有过这样的体验,当一个页面加载了大量的 js 文件时,用户界面可能会短暂地"冻结".这很好理解,因为 js 是单线程的语言.我们再走的极端点,一段 js 中出 ...
- Python中list,tuple,dict,set的区别和用法
Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List ...