Subversion初级使用-windwos系统

1.安装Subversion


  1. 官网下载软件TortoiseSVN
  2. 安装步骤:傻瓜式安装,一直next即可。

2.创建版本库


1. 使用命令创建版本库

执行命令:svnadmin create E:\Develop\DevTools\svn\SvnRepository\new_yhyl_archive
命令解析:svnadmin create [要创建的版本库的路径]

2. 创建版本库后会生成如下文件

Subversion初级使用-windwos系统

3.相关目录结构解析

conf:版本库配置文件相关
db:数据库的目录
hooks:钩子程序的存放路径

3. 创建一个Svn服务


1.使用一下命令创建一个svn的服务

sc create SVNService binpath= "E:\Develop\DevTools\svn\bin\svnserve.exe --service -r E:\Develop\DevTools\svn\SvnRepository" start= auto depend= Tcpip

2.拒绝访问

如果使用 a 中的命令出现了拒绝访问的错误,说明当前使用命令的用户没有管理员权限,需要使用管理员权限运行如下即可:Subversion初级使用-windwos系统

3.使用管理员权限运行1中的命令

Subversion初级使用-windwos系统

4.查看服务是否启动成功

Subversion初级使用-windwos系统

5. 命令解析

①.命令格式:

主命令 子命令 参数1 参数2 参数3 参数4
sc create 服务名 binpath= “运行服务所需要的二进制文件路径以及运行该二进制文件的命令行参数” start= auto标识自动启动 depend= Tcpip标识依赖 Tcpip 协议

【注意:在这个命令中,等号左边都没有空格,右边都有一个空格】

②.binpath 组成结构说明:

svnserve.exe 路径 svnserve 命令参数1 svnserve 命令参数2 svnserve 命令参数3
SVN 安装目录 \bin\svnserve.exe –service 表示以服务方式启动 Subversion -r 表示版本库根目录 版本库目录

③.关于版本库目录:

单仓库 指定与具体项目对应的仓库目录 例如:E:\Develop\DevTools\svn\SvnRepository\new_yhyl_archive 只能为 new_yhyl_archive 一个项目服务
多仓库 指定版本库的根目录 例如:E:\Develop\DevTools\svn\SvnRepository 可以为该路径下的多个项目服务

④.最终命令举例:
java sc create SVNService binpath= "E:\Develop\DevTools\svn\bin\svnserve.exe --service -r E:\Develop\DevTools\svn\SvnRepository" start= auto depend= Tcpip

4.启动 SVN 服务


命令:net start SVNService

5.SVN 相关命令


1.检出命令

命令:svn checkout svn://localhost:3690/[要检出的地址]
举例:svn checkout svn://localhost:3690/new_yhyl_archive

2.提交命令

  1. 先将要提交到本地仓库中(多个文件或者文件目录需要用空格分开)
    命令:svn add [文件1 文件2]
    举例:svn add new_yhyl_archive.iml pom.xml src\
  2. 提交到版本库中(多个文件或者文件目录需要用空格分开)
    命令:svn commit -m "[提交描述]" 文件1 文件2
    举例:svn commit -m "第一次提交代码" new_yhyl_archive.iml pom.xml src\
  3. 首次提交代码会出现权限不足的问题
    如下:说明没有权限,需要到该版本库中设置权限
    Subversion初级使用-windwos系统
  4. 设置权限

修改该版本库中的 conf/svnserve.conf 文件,修改以下地方并保存
# anon-access = read #修改前
anon-access = write #修改后(将注释打开后,说明允许匿名访问,并且拥有写的权限)

  1. 保存之后再次执行提交命令,提示提交成功

6.权限相关


1.修改 conf/svnserve.conf 文件

#修改前:
anon-access = write
#auth-access = write
#password-db = passwd
#authz-db = authz


#修改后
#anon-access = write #匿名访问(将匿名访问注释掉)
auth-access = write #认证访问(将认证访问打开,表示 svn 相关操作需要认证之后才能操作)
password-db = passwd #保存密码的相关信息的文件,此处保存的位置是当前目录的 passwd
authz-db = authz #保存用户授权的相关信息,此处保存的位置是当前目录的 authz 文件

2.修改 conf/passwd 文件

#在文件末尾创建三个用户:等号左边是账号,等号右边是密码
tom = 123456
jerry = 123456
test = 123456

3.修改 conf/authz 文件

修改前
[aliases]
#joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average


[groups]
#harry_and_sally = harry,sally
#harry_sally_and_joe = harry,sally,&joe


#[/foo/bar]
#harry = rw
#&joe = r
#* =


#[repository:/baz/fuz]
#@harry_and_sally = rw
#* = r




#修改后
[aliases]
#joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average


[groups]
#harry_and_sally = harry,sally
#harry_sally_and_joe = harry,sally,&joe
#创建一个组为 kaifa ,组中包含:tom jerry 两个用户
kaifa = tom,jerry


#[/foo/bar]
#harry = rw
#&joe = r
#* =


#给所有目录设置权限
[/]
#等号左边是要赋予权限的用户或者组,用 @ 符号来区分是组还是用户
#等号右边是要赋予的权限 rw 代表读写权限
@kaifa = rw
test = r
#使用 * = 起到屏蔽的作用,除了上面赋予权限的账号,都无法访问或者修改该版本库的资源
* =


#[repository:/baz/fuz]
#@harry_and_sally = rw
#* = r

以上为本人的学习记录,若有不当之处还请指出。谢谢~