SVN指令

创建仓库指令
盘符:\路径\bin\svnadmin.exe create d:/svn/app/文件夹名

启动服务指令
盘符:\路径\bin\ssvnserve.exe -d[独立端口运行] -r[具体仓库目录] d:/svn/app

与仓库取得联系
在开发者本地工作目录点击右键--->checkout指令
输入SVN主机地址+仓库名
输入开发者本地工作目录地址

本地提交新文件给仓库(单个提交)
① 在文件上点击右键--->svn--->add //作用:.svn对该新文件形成管理
② 在文件上点击右键--->commit //作用:把文件提交给svn仓库

开启仓库匿名账号权限
打开对应仓库下conf/svnserve.conf
开启“anon-access = write”(前面不能有空格)

文件颜色标识
① 蓝色加号:本地的.svn对该文件有形成管理(远程仓库 还没有该文件记录)
② 绿色对号:正常文件,本地文件、.svn管理的版本文件、仓库文件 三者内部内容一致
③ 红色叹号:表示 本地文件 与 .svn管理的文件内容不一致(用户自己修改了该文件)
④ 黄色叹号:表示该文件正处于冲突状态
⑤ 蓝色问号:新建的一个文件,本地.svn 和 远程仓库 对该文件都没有记录

仓库内部查看已经提交的文件
对应仓库下
db/revprops:存储日志目录
db/revs:存储文件内容目录

svn常见操作
① checkout: 检出动作,执行同时会把仓库全部文件更新到本地
② update: 把仓库最新的程序文件更新到本地
③ commit: 把本地文件提交给svn仓库

本地提交新文件给仓库(多个提交)
空白处点击右键--->commit
(会把新文件的add和commit指令集成起来)

更换SVN主机名地址
方法一:删除工作目录下的.svn文件,重新checkout
方法二:在工作目录空白处点击 右键-->svn-->relocate

同一文件切换不同版本
右键-->svn-->show log 查看一个文件的全部版本
右键-->svn-->update to revision,切换查看文件其他版本内容

SVN冲突解决
代码不在同一处:
执行update指令,使得服务器新版本与本地旧版本做融合操作,之后再继续commit提交
代码在同一处(行)
regsiter.php.mine: tom本地文件在update之前的效果
regsiter.php.r14: 是文件14版本的效果
regsiter.php.r15: 是文件15版本的效果
以上3个文件理解后直接删除,否则影响本文件commit提交
给合并内容做整合


打开对应仓库下conf/svnserve.conf
关闭匿名账号
设置anon-access=none,(不要在前边设置#号)
配置文件引入
password-db = passwd 文件设置账号密码
authz-db = authz 设置账号权限
打开对应仓库下conf/passwd
添加用户名密码
用户名 = 密码

打开对应仓库下conf/authz
设置账号权限
# 给仓库设置操作权限
[仓库名:/]
# 给用户设定权限 r:读 w:写
用户名 = rw
#除了给定用户,其他用户没有权限
* =
注意:SVN更改配置文件无需重启服务

打开对应仓库下conf/passwd
添加
组员1 = 密码
组员2 = 密码

打开对应仓库下conf/authz
组名 = 组员1,组员2,…
@组名 = rw

设置开机启动服务
sc create 服务名称 binPath= "svn服务器端安装目录/bin/svnserve.exe -r 服务仓库地址目录 --service" start= auto

1、使用show log查看员工的工作情况。
2、打开settings?saved data,选择clear来清除各种缓存。
3、关闭匿名账号的正确方式:anon-access = none
4、使用 Diff with previous version来查看当前版本和上一版本文件的差异。

设置钩子功能
复制仓库下hooks文件夹下post-commit.tmpl改变后缀为bat
SET SVN="SVN服务端目录/bin/svn.exe"
SET DIR="要自动更新的目录(与仓库取得联系)"
(call %SVN% update %DIR% --username 账号 --password 密码)

 

posted @ 2017-09-26 21:41  绿树成荫  阅读(180)  评论(0编辑  收藏  举报