安装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"。