常见的操作
发布项目(share project):项目组长将本机的项目第一次发布到中央仓库中
下载项目(check out):(检出项目:check out),组员将中央仓库的项目第一次下载到本机
更新(update):将服务器中的最新的代码,同步到本机 (服务器–>本机)
提交(commit):将本地修改的内容,同步到服务器中(本地–>服务器)
注意:更新和提交一定要及时,即:
提交:在编写完某一个小功能,每天下班前提交
更新:编写功能前,每天上班前更新
编写之前先更新,写完之后立刻提交
svn的安装配置
下载
配置
环境变量配置:一般是自动配置,可以进入环境变量(Path)检验一下,如果没有配置的话,则将root/bin目录配置到环境变量。
验证是否安装成功
win+r
cmd
svn --version
出现一下代码则安装成功
svn,版本 1.8.17 (r1770682)
编译于 Nov 30 2016,13:25:58 在 x86-microsoft-windows
Copyright (C) 2016 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/
可使用以下的版本库访问模块:
* ra_svn : 使用 svn 网络协议访问版本库的模块。 - 使用 Cyrus SASL 认证
- 处理“svn”方案
* ra_local : 访问本地磁盘的版本库模块。
- 处理“file”方案
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
- using serf 1.3.9
- 处理“http”方案
- 处理“https”方案
配置中央仓库
中央仓库:保存项目的各个版本
使用本地文件夹模拟中央仓库:
svnadmin create 文件夹目录
例:
svnadmin createC:\\workplace\\svn\\svnck
注意:文件夹要为空
启动svn服务
命令行方式(不推荐)
svnserve -d -r 仓库目录
例
svnserve -d -r C:\workplace\svn\svnck
注意:此时命令行窗口不能关闭,关闭之后服务就会终止
注册系统方式(推荐)
在cmd中运行
注意:cmd要以管理员身份运行
sc create 服务名 binpath="安装目录\bin\svnserve.exe --service -r 仓库位置" start=auto depend=Tcpip
例:
sc create mysvn binpath="C:\RJ\svn\bin\svnserve.exe --service -r C:\workplace\svn\svnck" start=auto depend=Tcpip
出现以下代码则成功
[SC] CreateService 成功
启动服务的两种方式
方式一(命令行):
启动:sc start 服务名
关闭:sc stop 服务名
删除 sc delete 服务名
方式二(服务列表):
服务列表所在位置:开始->windows管理工具->服务
访问项目
匿名访问
开启匿名访问
打开项目仓库的conf目录下的svnserve.conf文件找到
# anon-access = read
# anon-access = write
# anon-access = none
三者者三选一,
# anon-access = read
表示开启匿名访问后指允许读;
# anon-access = write
表示开启匿名访问可读可写;
# anon-access = none
表示什么也不能操作(一般选择);
注意:去掉#
的时候把空格也要去掉,顶格写,否则可能会出错!
授权访问
开启授权访问
打开项目仓库的conf目录下的svnserve.conf文件找到
# auth-access = write
# password-db = passwd
# authz-db = authz
# password-db = passwd
表示授权人的用户名密码存放在passwd文件(授权文件)中。
# authz-db = authz
表示授权访问的权限标识符,权限文件存放在authz中。
注意:去掉#
的时候把空格也要去掉,顶格写,否则可能会出错!
编写用户文件
打开passwd文件(授权文件)在svnserve.conf文件的同级目录,在[users]
下面添加用户名密码。采用键值对的形式用户名=密码。
例如:
aa=123
bb=abc
编写授权文件
在[groups]
下面创建分组
例
dev=aa,bb
对分组进行权限编写,例
[/]
@dev=rw
*=
表示dev组的人员对项目根目录下的文件具有读和写的操作,其他人员没有权限。
在Eclipse中使用SVN
默认eclipse是不支持svn的
配置
离线方式
将eclipse_svn_site-1.10.5插件放入eclipse的安装目录的dropins子目录下,需要解压。
在线方式
打开eclipse–>help–>Eclipse Marketplace 搜索:subversion/subeclipse,下载安装即可(可能比较慢)。
检查
启动eclipse在项目中右键Team—>Share Project会出现SVN选项。
使用
发布项目
项目中右键Team—>Share Project->SVN–>创建新的资源库位置–>ur:svn://127.0.0.1
–>finish–>右键项目–>提交;
需要输入用户名和密码,
打开项目会发现代码后面有黄色的状态码
黄色圆柱:本地无未提交代码
*/灰色箭头:本地有未提交的代码
红色!:有冲突
蓝色箭头:服务端有最新代码,本地还没有更新
下载项目
file–>import–>从svn检出项目–>next->ur:svn://127.0.0.1
–>next–>finsh
提交代码
单个提交
代码右键–>team–>提交
多文件提交
项目右键–>Team–>与资源库同步–>ctrl选中多个文件–>右键提交
更新代码
单个文件
代码右键–>team–>更新
多个文件
项目右键–>Team–>与资源库同步–>ctrl选中多个文件–>右键更新
或
右键项目–>Team–>更新
注意:当提交项目或下载项目时,点击了保存密码,一但密码出错,很难更改密码,或更换用户;
更改svn用户密码
进入C:\Users\当前用户\AppData\Roaming\Subversion\auth
删除文件夹中的所有文件即可重新填写用户,密码。
解决冲突
一般更新或提交时会发现冲突
右键项目–>Team–>与资源库同步–>红色箭头表示冲突文件
右键编辑冲突–>修改–>右键文件–>team–>标记为解决;重新提交。
查看和恢复历史版本
右键–>Team–>显示资源历史记录
查看版本:双击
恢复所选版本:右键–>获取内容
注意:如果报错,则需要设置svnserve.conf 文件中的anon-access=none
svn发布到外网
第一种
当网段不在同一个网段上时,可以借助nat123将局域网ip映射到外网ip;通过访问外网ip来访问中央仓库。
第二种
租赁服务器,将项目发布到服务器中
第三种
使用svn托管的网站,