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.当输入密码后就会显示这个资源下的项目--不过为了省事,我们上面还是点击保持密码好了。

--测试失败--算了,以后测试。下次测试在两台电脑上测试。

时间: 2024-10-23 10:47:13

SVN--VisualSVN server 服务端和 TortoiseSVN客户端的基础使用的相关文章

SVN服务器搭建和使用(一)--下载、安装VisualSVN server 服务端和 TortoiseSVN客户端

前言: 在http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html的博客中已经很详细地介绍了SVN的服务器--VisualSVN server和客户端--TortoiseSVN的下载与安装.但笔者在按照其中的方法进行下载.安装时发现了此文遗漏了一些重要的细节,所以本文在搬运原文的基础上补上一些遗漏的细节,帮助读者只需看本页面即可完成所有的工作,而不必像我之前那样百度好几个才弄好.   一.SVN服务器--VisualSV

QT server服务端如何判断客户端断开连接

在QT编程中有时会用到server服务端与客户端进行TCP网络通信,服务端部分代码如下: 1.创建server用于监听客户端套接字 this->server = new QTcpServer(this); this->server->listen(QHostAddress::Any,5001); connect(this->server,SIGNAL(newConnection()),this,SLOT(newConnection())); 2.newConnection()函数

[发布]SuperIO v2.2.5 集成OPC服务端和OPC客户端

SuperIO 下载:本站下载 百度网盘 1.修复串口号大于等于10的时候导致IO未知状态. 2.优化RunIODevice(io)函数内部处理流程,二次开发可以重载这个接口. 3.优化IO接收数据,提高运行效率. 4.优化OPC服务器端操作类库. 5.在Demo增加OPC服务端和OPC客户端事例源代码. [SuperIO教程]10.集成OPC Server和OPC Client插件服务 介绍 OPC服务端 OPC客户端 作者QQ:504547114 交流QQ群:54256083 官方网址:ht

VisualSVN Server安装后,TortoiseSVN远程无法访问版本库。

访问https://servername/svn/trunk无效,说神马名字有效,但是找不到数据神马的.网上有人说版本库没有设置有访问权限的用户.不对,我的user设置的妥妥的.在NetWork标签里查看自己的ServerName也没问题.用IP访问也不行.然后检查Certificate标签,发现是自己的CA证书不对,因为改过计算机名,证书的颁发者是之前的计算机名.VisualSVN Server自带创建证书功能,然后只需把新建的证书保存到就可以了. 开始-运行-certmgr.msc打开证书管

Thrift操作(Python服务端和Nodejs客户端)

目录 前言 python服务端 nodejs客户端 win10运行thrift 测试 前言 操作系统win10 时间2019年02月 Thrift版本:Thrift version 0.11.0 Python版本: Python 3.5.2 Nodejs版本: node v8.9.3 参考网址1 python服务端 安装thrift python install thrift server.py # -*- coding: utf-8 -*- import json # 调用python安装的t

java网络编程TCP传输—流操作—服务端反馈与客户端接收

在读取完流后,服务端会向客户端返回一些数据,告诉客户端,已经写完了. 在这里和”流操作—拿到源后的写入动作“差不多,客户端同样以byte与Buffered两种缓冲读取作为例子,同时,.也是希望大家给补充. 1.利用OutputStream向客户端回写,客户端用byte作为缓冲接收 向客户端回写: 1 //获取socket输出流,将上传成功字样传给客户端 2 OutputStream out=s.getOutputStream(); 3 out.write("上传成功".getBytes

Web Service学习之服务端搭建与客户端调用

?工作中用到了Web Service,但是对这块不是很熟悉,决定花时间学习一下,现在记录一下最基本的入门知识点. 使用Java搭建Web Service服务端,使用Python脚本调用接口. 一.Web Service服务端 1.在Eclipse中新建一个Java工程,新建test.TestWebService类 package test; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public 

WCF 大数据量如何从服务端传到客户端

当数据量很大时,想要从服务端传到客户端可能会遇到这几个问题:基础连接意外关闭:内存溢出:或时间过长. 下面是我在项目中实现客户端导出txt文件时解决方法.txt有150M左右. namespace XSGLSRV900 //服务端接口实现 { public class XSGLService : IXSGLService { //这些变量只能是静态的,如果是非静态的,在客户端每一次调用服务端都认为是新建一个服务对象,这些值将不再能读取到.关于WCF服务端的三种模式可参考http://www.cn

centos 6.5环境利用iscsi搭建SAN网络存储服务及服务端target和客户端initiator配置详解

一.简介 iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择.iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料. iSCSI是一种基于TCP/IP 的协议,用来建立和管理IP存储设备.主机和客户机等之间的相互连接,并创建存储区域网