SVN--VisualSVN server 服务端和 TortoiseSVN客户端的基础使用
前言
在上一文http://www.cnblogs.com/wql025/p/5177699.html中,我们讲到了使用SVN的第一步,即下载、安装SVN的服务端软件--VisualSVN server和客户端软件--TortoiseSVN。现在,我们就来在此基础上学习怎样使用这两个软件的最基础的功能以及在eclipse上如何使用。
本文参考网址:http://blog.chinaunix.net/uid-26520343-id-3047514.html
首先,和oracle一样,用SVN服务端首先要开服务,所以小伙伴们一开机就打开这个服务吧(如果有用到本机作为服务器)。
一、添加一个版本库【Repository】
1.首先打开VisualSVN Server Manager。开始--》所有程序--》VisualSVN Server Manager。如图:
界面:
2.Repositories右键选择Create New Repository..
3.选择默认选项,点下一步
4.在Repository Name输入一个文件夹名作为保存项目的文件夹,点下一步
5.选择默认选项,点下一步
6.选择默认选项,点Create
7.本地SVN服务器的存储地址已经建好了。其中https://Lenovo-PC/svn/是本机的根地址。点Finish
建好的界面如下:
二、在SVN服务端VisualSVN 建立用户、用户组、赋权
1.右键Users,点击新建 User
2.为用户起名字和密码,点OK
3.一个用户创建完了
4.创建用户组,右键Groups,新建 Group
5.为这个新建的用户组起个名字(就已接下来要导入的本地项目名为名),点击Add,把新建的用户添加进来,点击OK
6.现在已经为testProject添加了developer1这个用户了,点击OK
7.现在就要给用户赋权了。右键刚才新建的版本库testProject,点击Properties
8.点击Add
9.选择要赋权的对象。可以是针对的是Everyone,可以是Groups,可以是Users下进行选择
10.选择用户及在紫色框中选择要赋予的权限,点确定
11.我们按照上面的方法再加一个test用户--测试人员,他只具备Read Only 权限。
三、将本地项目上传至/导入SVN服务器。
这里导入https://Lenovo-PC/svn/testProject这个地址。
1.新建一个项目--testProject
2.项目右键,选择TortoiseSVN-->导入
3.在testProject/后面起个名字作为这个仓库的子路径--这个名字和2.2所导入的项目名一样,作为这个项目的名字(如果不起的话,导入后就没有项目名字了。这点要注意下。),然后在“导入信息”下面的框中填写“导入项目到版本库”--这是记录日志,点击确定。
4.在弹出一个验证框输入用户名和密码,如下:输入创建的developer1 , 123 即可。
导入成功。
5.右键刷新新建的版本库testProject,即可看到已导入的项目。
四、检出项目到本地
1.在要检出的目录右键选择 SVN检出(K)
2.点击确定
3.检出成功
五、修改、添加文件...
5.1 修改代码
1.选择此项目的一个java文件。
2.用EditPlus打开,添加一行代码,保存后关闭。
3.可以看到修改后的变化。
4.现在我们提交代码,我是在MySvnTest.java所在的包提交,也可以直接在MySvnTest.java上提交。
5.下面选择提交的内容,分别是MySvnTest.java及其备份--MySvnTest.java.bak(注:这个文件的备份文件是上一次版本的备份。),点击确定。
6.提交完毕
注意:提交源代码到服务器时,一定确保本机的代码是最新版本,否则可能提交失败,或者造成版本冲突。
5.2 添加代码
和修改的原来流程一样,这里就不说了。
5.3 更新代码
更新本机代码与SVN服务器上最新的版本一致。
这个也很简单,只要在需要更新的文件夹上点击右键或在该文件下的空白处点击右键,点击SVN Update,就可以了。
注意:更新操作可能会因为版本冲突而失败,这是可以使用合并【Merge】或其他方法解决;也可能因为锁定【Get Lock】而失败,这是需要先解锁【Release Lock】。
5.4 重命名文件或文件夹,并将修改提交到SVN服务器
只要在需要重命名的文件或文件夹上点击右键,点击TortiseSVN=>>Rename…,在弹出的窗体中输入新名称,点击OK按钮,就可以了。此方法也不是直接重命名,而是将该文件或文件夹的名称标记为重命名后名称,也需要我们使用SVN Commit提交到SVN服务器后才真正重命名。
5.5 删除文件或文件夹,并将修改提交到SVN服务器
最简单就是,你直接删除文件或文件夹,然后使用SVN Commit提交更新到SVN服务器。另外一种方法是在你要删除的文件或文件夹上点击右键=>>TortoiseSVN=>>Delete删除,此方法也不是直接删除,而是将该文件或文件夹的状态置为删除,也需要我们使用SVN Commit提交到SVN服务器后才真正删除。
说明:实际上,从你把源代码迁签入SVN服务器开始,每一个版本的数据和文件,就算是你已经删除了的,也都可以随时迁出。
以上只是TortoiseSVN最简单的几个功能,其实他的功能远不止这些,其他的功能大家可以在使用的过程中慢慢体会,有些功能我会在下面的教程中使用到,到时候会和大家讲清楚用法。
注意:向SVN服务器提交源代码的时候,一定不要提交bin、obj等文件夹,否则会很麻烦。但是web项目的bin目录除外,但是web项目的bin目录中的引用其他项目而生成的dll不需要提交。
一个好习惯:如果项目中引用了其他的第三方的程序集,比如EnterpriseLibrary、FCKEditor等,这时候不要简单从他们的安装位置引用,而是在你的解决方案下,添加一个Library的目录,把需要的程序集复制到这里,然后从Library目录引用,这样有什么好处,自己想一想吧。
六、eclipse从SVN服务器检出项目
1.打开SVN资源库视图,点击添加SVN资源
2.填写SVN服务器的版块库地址
3.在项目上右键选择--》检出为
4.点击next
5.选择项目位置,点击Finish
6.检出至本地成功
七、版本库迁移
假如有两个服务器A和B,版本库原来在A服务器上,现在要移到B服务器,做法如下
1,将A中的版本库更新到MYeclipse(注意要删除掉....\WebRoot\WEB-INF\下的calsses文件夹,因为这里包含Myeclipse自动编译文件,如果不删除就上传至版本库,check出来的项目同步时会报错),右击项目-team-disconntect(断开)-选择第一项-Yes,目的是将原来使用svn或cvs时项目中的.cvs和.svn文件清除掉
2,在B上安装客户端和服务端,再按上面讲的步骤在B的服务端上建版本库,然后把项目拷贝到B中的某个位置,使用svn客户端右击项目,选择import导入到版本库中
(参考:http://www.cnblogs.com/lzhdim/archive/2009/04/23/1442189.html
http://hi.baidu.com/hsyl/blog/item/7ad43b2986af8bf498250a54.html )
后记
本来想做一下用户权限测试--即用test用户看看能不能修改SVN检出至eclipse的代码,可能因为在3.4步选择了“保存认证”,所以在eclipse检出SVN的项目时并没有弹出输入用户名/密码的验证框--这个以后有时间再测。
已测试,测试结果与“后记”中推测一致,如下:
1.在将本地项目导入至版本库时输入用户名、密码的弹出框不要选“保持认证”。
2.在eclipse检出本地项目时就会弹出“输入用户名和密码”的验证框。
3.当输入密码后就会显示这个资源下的项目--不过为了省事,我们上面还是点击保持密码好了。
--测试失败--算了,以后测试。下次测试在两台电脑上测试。
SVN--VisualSVN server 服务端和 TortoiseSVN客户端的基础使用的更多相关文章
- SVN--下载、安装VisualSVN server 服务端和 TortoiseSVN客户端
前言: 在http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html的博客中已经很详细地介绍了SVN的服务器--VisualS ...
- QT server服务端如何判断客户端断开连接
在QT编程中有时会用到server服务端与客户端进行TCP网络通信,服务端部分代码如下: 1.创建server用于监听客户端套接字 this->server = new QTcpServer(t ...
- Photon Server 服务端编程
Photon Server 和 Unity3D 数据交互: Photon Server 服务端编程 Unity3D 客户端编程 VS2017 之 MYSQL实体数据模 一:Photon Server的 ...
- 全网最详细的PLSQL Developer + Oracle client的客户端 或者 PLSQL Developer + Oracle server服务端的下载与安装过程(图文详解)
不多说,直接上干货! 环境说明: 本地没有安装Oracle服务端,oracle服务端64位,是远程连接,因此本地配置PLSQL Developer64位. Oracle database使用在本机部署 ...
- SVN server 服务端修改端口号
SVN server 服务端修改端口号 在实际使用中可能当安装svn server 服务后,发现与后续其他程序端口冲突, 1.打开svn server 管理界面->操作->properti ...
- Linux搭建SVN服务器(服务端)
Linux搭建SVN服务器(服务端) 1 安装SVN SVN客户端:TortoiseSVN,官网下载:https://tortoisesvn.net/downloads.html(客户端) # yum ...
- [发布]SuperIO v2.2.5 集成OPC服务端和OPC客户端
SuperIO 下载:本站下载 百度网盘 1.修复串口号大于等于10的时候导致IO未知状态. 2.优化RunIODevice(io)函数内部处理流程,二次开发可以重载这个接口. 3.优化IO接收数据, ...
- Delphi XE5通过WebService开发Web服务端和手机客户端
Delphi XE5通过WebService开发Web服务端和手机客户端介绍 我们开发一个三层的android程序 建立一个webservices stand-alone vcl applicati ...
- 【2】循序渐进学 Zabbix:安装配置 Zabbix Server 服务端
上一篇 [1]循序渐进学 Zabbix :初识与基础依赖环境搭建( LNMP ) 安装 Zabbix Server 上篇我们在 192.168.200.101 上面安装了 Zabbix 所依赖的 LN ...
随机推荐
- Qt 5 在Windows下 出现QApplication: No such file or directory 问题的解决办法
解决方法是:在*.pro工程项目文件中添加一行QT += widgets,然后再编译运行就OK了.
- CString使用
1. 空间分配,如果不是它自己的空间分配方式,需要用函数来手动分配空间,否则大家指向同一块地址,取得内容一样 例子,读取文件到CString ,没有给CString 对象分配空间,而且不是他定义的开拓 ...
- 状态模式(State)
状态模式,从字面意思上来讲应该是很简单的,就是针对实际业务上的内容,当类的内部的状态发生改变时,给出不同的响应体,就像现实中的人一样,早上没有吃饭,状态不好,上班.上课都会打哈欠,中午了,吃过午饭,又 ...
- How to Fix Missing TortoiseSVN File Status Icons in Windows
For many Windows-based developers, Subversion and TortoiseSVN is a great source control solution. It ...
- 在 linux x86-64 模式下分析内存映射流程
前言 在上一篇中我们分析了 linux 在 x86-32 模式下的虚拟内存映射流程,本章主要继续分析 linux 在 x86-64 模式下的虚拟内存映射流程. 讨论的平台是 x86-64, 也可以称为 ...
- 【转】理解JavaScript之闭包
闭包(closure)是掌握Javascript从人门到深入一个非常重要的门槛,它是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现.下面写下我的学习笔记~ 闭包-无处不 ...
- 利用Apply的参数数组化来提高代码的优雅性,及高效性
利用Apply的参数数组化来提高代码的优雅性,及高效性 Function.apply()在提升程序性能方面的技巧 我们先从Math.max()函数说起,Math.max后面可以接任意个参数,最后返回所 ...
- Selenium-RC Python 2.7 环境配置
1.下载并安装Python http://www.python.org/getit/,我使用的是2.7.3的python版本 2.下载并安装setuptools[这个工具是python的基础包工具] ...
- opencv的初体验
http://guoming.me/opencv-config 这篇文章有讲解opencv的安装与配置 一些常用库 opencv_core249d.lib opencv_imgproc249d.li ...
- hdu 5451 Best Solver 矩阵循环群+矩阵快速幂
http://acm.hdu.edu.cn/showproblem.php?pid=5451 题意:给定x 求解 思路: 由斐波那契数列的两种表示方法, 之后可以转化为 线性表示 F[n] = ...