SVN 第2章 windows创建svn版本库 SVN 第2章 windows创建svn版本库

2021-06-10

一、安装软件

①、Subversion for Windows(svn服务)

安装完成之后进入 cmd ,输入 echo %PATH%,会发现我们的 PATH 环境变量中多了一个 C:\Program Files\TortoiseSVN\bin

https://file.lulublog.cn/images/3/2022/08/dN9tn98K8KL9Bzy78YKmXFz9xYk9YZ.png

②、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

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开微信扫一扫,即可进行扫码打赏哦

阅读 833