SVN使用
2016-12-29 22:37
113 查看
服务端安装
客户端安装
创建多个SVN仓库存储代码
启动仓库服务
本地客户端码农与仓库建立连接
给仓库开启匿名账户权限不推荐
给svn仓库提交程序
文件颜色标志
新目录文件的提交
同时运行多个SVN仓库服务
修改SVN服务器地址
断开与svn仓库连接
冲突解决重点
账号和权限
给具体的用户设置权限
给一个组设置权限
开启只操作某个目录的权限
给用户设置只操作shop目录的权限
设置开机启动项服务
通过svn查看组员工作情况和bug追踪
LanguagePack_1.9.5.27581-x64-zh_CN.msi
需要注意的是: DOC窗口不要关,关了等于关闭服务
该SVN服务端口号是:3690
svn://ip地址
本地工作空间
##文件版本的更新
TortoiseSVN—–>Update to revision…
多个程序员对同一个文件进行修改,彼此代码文件出现覆盖的情况
解决方法
1. 令牌方式解决,给每一个文件设置令牌,谁获得令牌谁有权利开发该文件。
+ 该软件为:vss(Visual Source Safe)源代码控制管理软件
2. 通过版本号码进行控制,用户commit文件,本地文件版本与仓库版本号必须一致才可以提交,否则禁止提交。
+ 本地与服务器版本号码不一致,一定是本地号码小于服务器版本号,SVN就是通过版本号解决冲突,
+ 修改代码不在同一处时
本地版本号与服务器版本号不一致时,提交失败,则需更新(合并代码)
+ 修改代码在同一处时
修改 anon-access = none
不要加# 因为svn中有一个小bug(日志就不让查看了,日期都没了),操作为—->show log
authz :设置用户权限
passwd:设置账号(用户名和密码)
svnserve.conf :主配置文件
需要在主配置文件中引入两个辅助配置文件(authz和passwd)
20行:去掉#和空格,保留password-db = passwd
27行:去掉#和空格,保留authz-db = authz
在passwd中
配置形式:账户 = 密码
给账号设置权限
配置形式:[shop:/]
tom = rw
mary = r
*=
具体权限:
r :read:可以update,不可以commit
w:write:可以commit
启动运行多个仓库服务:svnserve -d -r h:/svnServer/app/
[app:/] 表示我们要给多个仓库中的具体shop仓库设置访问权限,例如:[app:/] [car:/]
启动单一仓库服务 :svnserve -d -r h:/svnServer/app/shop
[/] 表示单一的给仓库账号设置访问权限
user1 = rw
user2 = rw
*=
举例:以外包团队为例
管理员先把该目录video给创建出来并交给svn仓库
给外部团队 设置账号 和 设置工作目录、和分支目录权限
外包团队 建立与仓库分支目录的联系(checkout)
外包团队给该目录提交文件
管理员执行update更新操作,把该分支目录从服务器更新下来即可查看外包团队工作情况。
应用:
注意:
binPath=空格 start=空格
最好生成.bat文件
查看日志的时候对代码进行比较,查看bug
Compare revisions 比较
通过SVN可以很容易看到一个程序中不同版本代码的差别
·
客户端安装
创建多个SVN仓库存储代码
启动仓库服务
本地客户端码农与仓库建立连接
给仓库开启匿名账户权限不推荐
给svn仓库提交程序
文件颜色标志
新目录文件的提交
同时运行多个SVN仓库服务
修改SVN服务器地址
断开与svn仓库连接
冲突解决重点
账号和权限
给具体的用户设置权限
给一个组设置权限
开启只操作某个目录的权限
给用户设置只操作shop目录的权限
设置开机启动项服务
通过svn查看组员工作情况和bug追踪
服务端安装
VisualSVN-Server-3.5.6-x64.msi客户端安装
TortoiseSVN-1.9.5.27581-x64-svn-1.9.5.msiLanguagePack_1.9.5.27581-x64-zh_CN.msi
创建多个SVN仓库(存储代码)
>svnadmin create h:/svnServer/app
启动仓库服务
DOC语法:svnserve -d(独立端口运行) -r(仓库地址) 仓库地址>svnserve -d -r h:/svnServer/app //启动app仓库服务
需要注意的是: DOC窗口不要关,关了等于关闭服务
该SVN服务端口号是:3690
本地客户端(码农)与仓库建立连接
右键—> checkoutsvn://ip地址
本地工作空间
给仓库开启匿名账户权限(不推荐)
在svnServer/工程目录/conf/svnserver.conf文件的12行:anon-access = write
给svn仓库提交程序
步骤:a. 右键---->svn-->add(本地的svn对文件形成管理) b. 右键---->Commit (本地的文件提交给svn仓库,同时提交多个文件)
文件颜色标志
蓝色加号:本地的.svn对该文件开始管理 绿色对号:本地文件、.svn管理的版本文件、仓库文件三者一致 表示:本地文件已提交到svn服务器 红色叹号:本地文件与.svn和仓库文件不一致(用户可能修改了该文件) 黄色叹号:表示该文件正在处于冲突状态 蓝色问号:新建的文件,本地.svn和仓库都没有该文件记录
新目录文件的提交
新目录内部的文件不能直接提交,必须是目录本身已经提交给仓库了,该目录文件才可以单独进行commit提交
同时运行多个SVN仓库服务
把所有仓库的上级目录当成服务启动起来
> svnserve -d -r h:/svnServer/
修改SVN服务器地址
1. 先把.svn删除 2. 重新checkout
断开与svn仓库连接
只需删除.svn即可
##文件版本的更新
TortoiseSVN—–>Update to revision…
冲突解决(重点)
什么情况下会发生冲突?多个程序员对同一个文件进行修改,彼此代码文件出现覆盖的情况
解决方法
1. 令牌方式解决,给每一个文件设置令牌,谁获得令牌谁有权利开发该文件。
+ 该软件为:vss(Visual Source Safe)源代码控制管理软件
2. 通过版本号码进行控制,用户commit文件,本地文件版本与仓库版本号必须一致才可以提交,否则禁止提交。
+ 本地与服务器版本号码不一致,一定是本地号码小于服务器版本号,SVN就是通过版本号解决冲突,
+ 修改代码不在同一处时
本地版本号与服务器版本号不一致时,提交失败,则需更新(合并代码)
+ 修改代码在同一处时
账号和权限
设置账户和密码时需要关闭匿名权限修改 anon-access = none
不要加# 因为svn中有一个小bug(日志就不让查看了,日期都没了),操作为—->show log
给具体的用户设置权限
在conf下authz :设置用户权限
passwd:设置账号(用户名和密码)
svnserve.conf :主配置文件
需要在主配置文件中引入两个辅助配置文件(authz和passwd)
20行:去掉#和空格,保留password-db = passwd
27行:去掉#和空格,保留authz-db = authz
在passwd中
配置形式:账户 = 密码
给账号设置权限
配置形式:[shop:/]
tom = rw
mary = r
*=
具体权限:
r :read:可以update,不可以commit
w:write:可以commit
启动运行多个仓库服务:svnserve -d -r h:/svnServer/app/
[app:/] 表示我们要给多个仓库中的具体shop仓库设置访问权限,例如:[app:/] [car:/]
启动单一仓库服务 :svnserve -d -r h:/svnServer/app/shop
[/] 表示单一的给仓库账号设置访问权限
给一个组设置权限
+ 配置形式: [groups] java = java1,java2,java3,java4 [app:/] @java = rw
开启只操作某个目录的权限
配置形式:给用户设置只操作shop目录的权限
[app:/shop]user1 = rw
user2 = rw
*=
举例:以外包团队为例
管理员先把该目录video给创建出来并交给svn仓库
给外部团队 设置账号 和 设置工作目录、和分支目录权限
外包团队 建立与仓库分支目录的联系(checkout)
外包团队给该目录提交文件
管理员执行update更新操作,把该分支目录从服务器更新下来即可查看外包团队工作情况。
设置开机启动项服务
语法:doc中> sc create 服务名称 binPath="安装目录/svnserve.exe -r 服务仓库地址目录 --service" start= auto
应用:
> sc create svnd binPath="d:/svnServer/server/bin/svnserve.exe -r d:/svnServer/app --service" start= auto
注意:
binPath=空格 start=空格
最好生成.bat文件
通过svn查看组员工作情况和bug追踪
+ 操作:TortoiseSVN------>show log + 查看之前需要清空缓存 + 如果信息不全的话,可能是权限的问题,例如(*=)的设置
查看日志的时候对代码进行比较,查看bug
Compare revisions 比较
通过SVN可以很容易看到一个程序中不同版本代码的差别
·
相关文章推荐
- About SVN
- CentOS 6.5搭建Apache整合SVN 1.8.5服务器(多版本库权限配置)
- CentOS下SVN服务器测试版安装记录
- 如何在本机搭建SVN服务器
- Windows下搭建本地SVN服务器
- 让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
- Windows下SVN服务器搭建方法整理(apache)
- Apache2+SVN+MYSQL认证 配置项详细步骤
- 在Fedora 10下配置SVN服务器的步骤
- 删除SVN三种方法delSvn(windows+linux)
- 探讨如何在Eclipse中过滤版本控制文件.svn
- linux下安装配置svn独立服务器的步骤分享
- 浅析SVN常见问题及解决方法
- 关于svn冲突的解决方法
- 基于Eclipse中SVN图标不显示的解决方法
- Shell脚本实现的基于SVN的代码提交量统计工具
- Ubuntu下定时提交代码到SVN服务器的Shell脚本分享
- 详解版本控制利器Git,SVN的异同以及适用范围