Windows下搭建本地SVN服务器【转】

时间:2022-03-02 19:37:14

转自:http://www.linuxidc.com/Linux/2015-01/111563.htm

本文介绍Windows下搭建本地SVN服务器的方法,网上资料比较少也比较旧,大都介绍的是旧版本SVN使用svnserve.exe安装svn服务的方法,而下面将会详细介绍使用sc命令建立服务器并开启服务,这是搭建本地SVN服务器的关键所在!

SVN 全名是 Subversion,它是一个开源的版本控制软件,官网链接:http://tortoisesvn.net/ ,与它类似的软件有CVS,VSS,ClearCase。而 SVN 作为一个跨平台的开源软件,具有很强的活力,目前也已经相当成熟,很多开源项目都用它来管理文档或是代码。更多svn详细资料可查看百度百科链接:http://baike.baidu.com/view/183128.htm

更为重要的是,不仅仅是团队开发,作为个人独立开发的项目(或者个人想维护的文档)也可以用 SVN 进行管理,而不需要另外一台服务器。

TortoiseSVN 是 SVN 的一个 Windows 外壳扩展应用,它可以帮助用户直观的进行 SVN 的各种操作,而不需要使用命令行。

安装SVN(Subversion),步骤如下:
1、下载&安装Subversion的Windows客户端TortoiseSVN:
安装包链接:http://tortoisesvn.net/downloads

2、建立版本库(Repository):

可以看作服务器上存放数据的数据库,svn的所有操作都存放在这里。

在目录D:\svn\repository下"右键->TortoiseSVN->Create Repository here ,执行此目录后就自动创建了一系列目录和文件

3、配置用户和权限:

打开D:\svn\repository, 你会发现已经多了一些目录和文件, 打开conf子目录, 打开svnserve.conf文件, 这里行前凡是有#的都等于是被注释忽略了, 你可以把#去掉让那一行生效, 或者自己新添加行. 里面的英文注释已经详细说明了各种设置的含义, 最后你设置 [general]小节中行前没有#号的内容为:

anon-access = none
auth-access = write
password-db = passwd

含义是:

未验证用户无任何权限 (如果把none修改为read就是给予读权限)
已验证用户给予写权限 (当然也能读)
密码数据存放到passwd文件中

然后打开同目录的passwd文件来设置帐户:

同样, 设置[users]小节中行前没有#号的内容, 例如:

admin=123456

含义是:

用户admin的密码为123456

4、运行独立服务器:(旧版的svn需要用到svnservice.exe,新版改在dos(cmd)操作窗口下用sc命令建立服务器并开启服务)

sc create svnservice binPath= "E:\TortoiseSVN\bin\svnserve.exe --service -r F:\svn\repository" DisplayName= "svnservice" depend= Tcpip start= auto

binPath路径代表svn的安装目录下的svnserve.exe文件路径;-r为root的简写,F:\svn\repository是前面配置的版本库路径,DisplayName是设置svn服务的名称;start=auto为将svn服务设置成开机启动!

最后是开启svn服务:
net start svnservice
(可以在“开始->运行...”中执行"services.msc",然后在图形化界面中开启"svnservice"服务,同执行上面语句效果一样!)

当然我们可以建立一个bat一鍵运行上述命令:

sc create svnservice binPath= "E:\TortoiseSVN\bin\svnserve.exe --service -r F:\svn\repository" DisplayName= "svnservice" depend= Tcpip start= auto
net start svnservice
pause

安装时只需要更改bat文件里面的2个路径即可,简化了命令的输入,懒人必备方法啊,有木有!

5、初始化导入:

简单说就是将需要svn控制的文件目录先导入到svn,这步确定svn对应路径!(注意:该文件目录只作为导入初始化,同后续的svn操作无任何关系,可随意删除),一般操作如下:

在你需要进行版本控制的目录上右击, 选择TortoiseSVN, 再选择子菜单"导入...", 设置"文件库url"为svn://localhost/folderName(folderName是随意取的,确定之后,以后svn操作路径就是这条了!), 点确定后就会提示文件正在导入.

需要注意的是,这里是svn文件库与svn服务是同一台计算机的情况, 所以可用localhost, 其它机器如果要访问svn服务, 应该用svn://svn服务器的IP地址, 例如svn://192.168.1.125

6、客户端基本操作 :

update、commit等

创建一个准备用来存放版本控制工程的目录,用来存放初始化导入后最后一次最新版本的目录,程序的编写和修改都在这个目录完成。例如E:\project, 然后在这个目录上右击这个目录,执行SVN Checkout命令将svn目录更新下来(会要求填写前面搭建服务器端所设置的用户admin密码123456 ),本地修改完后再commit到版本库(Repository)中

至此, Windows下搭建本地SVN服务器就算完成了, 你会看到E:\project及其下面的文件都被标记了绿色对勾 !

另附:
1. 停止服务
使用"net stop svnservice"停止服务。
2.删除服务
如果服务安装的有问题,你可能需要删除服务。要删除前面添加的服务,只需要运行"sc delete svnservice"。

--------------------------------------分割线 --------------------------------------

Linux中Subversion配置实例 http://www.linuxidc.com/Linux/2012-02/53109.htm

CentOS 6.2 SVN搭建 (YUM安装) http://www.linuxidc.com/Linux/2013-10/91903.htm

CentOS 6.5部署Apache+SVN  http://www.linuxidc.com/Linux/2013-12/94315.htm

Apache+SVN搭建SVN服务器 http://www.linuxidc.com/Linux/2013-03/81379.htm

Windows下SVN服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm

Ubuntu Server 12.04 安装 SVN 并迁移 Virtual SVN数据 http://www.linuxidc.com/Linux/2013-05/84695.htm

Ubuntu Server搭建svn服务以及迁移方法 http://www.linuxidc.com/Linux/2013-05/84693.htm

借助网盘搭建SVN服务器 http://www.linuxidc.com/Linux/2013-10/91271.htm

--------------------------------------分割线 --------------------------------------

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-01/111563.htm