一、安装软件
①、Subversion for Windows(svn服务)
安装完成之后进入 cmd ,输入 echo %PATH%,会发现我们的 PATH 环境变量中多了一个 C:\Program Files\TortoiseSVN\bin
②、TortoiseSVN-1.7.5.22551-win32-svn-1.7.3(svn可视化工具)
二、创建版本库
①、在D盘创建svn根目录D:\SVN
②、在D:\SVN下创建SVNProject1、SVNProject2两个SVN项目版本库
svnadmin create D:\SVN\SVNProject1
svnadmin create D:\SVN\SVNProject2
三、统一配置文件
为便于配置管理,将所有版本库的“账号密码”和“登陆用户权限”等控制文件指定为同一个配置文件
①、从D:\SVN\SVNProject1\conf文件夹下将初始的passwd(账号密码)、authz(用户权限)文件剪切到D:\SVN目录下;
②、修改D:\SVN下的每个项目版本库的\conf\svnserve.conf(访问控制文件)
默认#anon-access = read 去掉首字符"#",none表示不允许匿名访问
默认#auth-access = write 去掉首字符"#"
默认# password-db = passwd 改为 password-db = ../../passwd,指向D:\SVN\passwd
默认# authz-db = authz 改为authz-db = ../../authz,指向D:\SVN\authz
realm = SVNProject1 #仓库名称
(如果有N个版本库则重复N次这样的操作)
四、配置用户名密码和访问权限
①、用户名
D:\SVN\passwd文件内容的修改:
[左为用户名、右为密码](用户名、密码可根据自己的需要而定)
user1 = user1123
user2 = user2123
②、访问权限
[groups]
# harry_and_sally = harry,sally
svnproject1=user1,user2
svnproject2=user1,
…………
[/]
# 指定所有的版本库默认只读
# * = r
#root可读写
root = rw
[SVNProject1:/]
@svnproject1 = rw
[SVNProject2:/]
@svnproject2 = rw
五、启动 svn
①、方式一:cmd 启动
cd "C:\Program Files\Subversion\bin"
svnserve -d -r D:\SVN
②、方式二:加入系统服务
sc create svn binpath= "C:\Program Files\Subversion\bin\svnserve.exe --service -r D:\SVN" displayname= "Subversion 服务" depend= Tcpip
右键计算机-管理-服务和应用程序-服务(或者win+R 运行 services.msc),找到Subversion 服务,启动它并将其设置为自动启动
ps:如果想删除系统服务,可进入cmd,用 sc delete 服务名称来卸载服务
六、创建项目
①、建立一个存放项目的文件夹D:\www,并在www文件夹中一次创建SVNProject1文件夹
②、在SVNProject1右键选中SVN Checkout,并在url of repository中输入file:///D:/SVN/SVNProject1,在D:\www\SVNProject1中将会生成.svn的文件夹,表明已将D:\www\SVNProject1文件夹与D:/SVN/SVNProject1仓库关联起来了
③、在SVNProject1中放入源代码,然后TortoiseSVN--Commit提交到repository中
④、SVNProject2项目的创建和SVNProject1类似
七、本地电脑下载项目
svn://服务器IP地址/SVNProject1
svn://服务器IP地址/SVNProject2
八、设置 svn 钩子
①、实现功能
windows svn 利用钩子实现代码同步到 web 目录
②、实现方法
在 D:\SVN\SVNProject1\hook 中创建 post.commit.bat
@echo off
"C:\Program Files\Subversion\bin\svn.exe" update "E:\www\SVNProject1" --quiet --username user1 --password user1123
③、测试
在本地电脑 SVNProject1 提交代码,你会发现服务中同步代码
如果出现:svn upgrade的错误信息
原因:由于服务器和本地的svn 版本不一样。会提示需要执行svn upgrade命令把服务器的的svn版本上迁移到本地的svn版本上去。
直接执行svn upgrade命令就会把所有的代码按照最新的svn 版本重新更新一遍。之后你操作所有的svn 命令都会正常运行。解决:
@echo off
"C:\Program Files\Subversion\bin\svn.exe" upgrade "E:\www\SVNProject1"
"C:\Program Files\Subversion\bin\svn.exe" update "E:\www\SVNProject1" --quiet --username user1 --password user1123