Linux下操作SVN的工作纪录以备自用
- 使用 svn 命令创建资源库
- 修改默认配置文件配置
- svn 服务配置文件 svnserve.conf
- 用户名口令文件 passwd
- 权限配置文件
- 创建本地目录,进行检出(创建版本控制文件.svn)
- SVN客户端的一些常用操作的整理
使用 svn 命令创建资源库
[BU@localhost SVN]$ svnadmin create repository
创建之后进入目录,可以看到如下结构内容:
修改默认配置文件配置
进入 /opt/svn/runoob01/conf 目录,修改默认配置文件配置。包括 svnserve.conf、passwd、authz 配置相关用户和权限。
svn 服务配置文件 svnserve.conf
控制非鉴权用户访问版本库的权限,取值范围为 “write”、“read” 和 “none”。 即 “write” 为可读可写,“read” 为只读,“none” 表示无访问权限,默认值:read。
auth-access: 控制鉴权用户访问版本库的权限。取值范围为 “write”、“read” 和 “none”。 即"write"为可读可写,"read"为只读,"none"表示无访问权限,默认值:write。
authz-db: 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。 除非指定绝对路径,否则文件位置为相对conf目录的相对路径,默认值:authz。
realm: 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件。默认值:一个UUID(Universal Unique IDentifier,全局唯一标示)。
svn 服务配置文件为版本库目录中的文件 conf/svnserve.conf。该文件仅由一个 [general] 配置段组成。
注意:设置的时候记得把文件中的passwd打开
用户名口令文件 passwd
用户名口令文件由 svnserve.conf 的配置项 password-db 指定,默认为 conf 目录中的 passwd。该文件仅由一个 [users] 配置段组成。
[users] 配置段的配置行格式如下:
权限配置文件
权限配置文件由 svnserve.conf 的配置项 authz-db 指定,默认为 conf 目录中的 authz。该配置文件由一个 [groups] 配置段和若干个版本库路径权限段组成。
[groups]配置段中配置行格式如下:
创建本地目录,进行检出(创建版本控制文件.svn)
[BU@localhost SvnFiles]$ svn co svn://localhost
执行完出现.svn的隐藏文件,然后把你要提交的文件拿到文件夹中,调用svn add命令把内容添加到版本控制中。(我上传的是文件夹,所以直接*全上传)
[BU@localhost SvnFiles]$ svn add *
然后提交
[BU@localhost SvnFiles]$ svn commit -m "第一次提交"
提示你输入用户名密码就输入
我的需求到这基本就处理完了,后面有很多细节,都找了一些,暂且记录
SVN客户端的一些常用操作的整理
命令 | 功能 | 使用格式 |
checkout | 将文件checkout到本地目录 | svn co URL(URL是服务器上的目录) |
add | 往版本库中添加新的文件或者文件夹 | svn add 文件名 |
commit | 将改动的文件提交到版本库 | svn ci -m “LogMessage” [-N] [–no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关) |
update | 更新到某个版本 | svn up -r m path |
status | 查看文件或者目录状态 | svn st path(目录下的文件和子目录的状态,正常状态不显示) svn st -v path(显示文件和子目录状态) |
delete | 删除文件 | svn delete path -m “delete test fle”svn (del, remove, rm) |
revert | 没有被提交(commit)的回滚 | svn revert [-R] path |
merge | 已经被提交(commit)的回滚 | svn merge [-R] path |
查看日志 | svn log path | |
查看文件详细信息 | svn info path | |
比较差异 | svn diff path(将修改的文件与基础版本比较) svn diff -r m:n path(对版本m和版本n比较差异) | |
版本库下的文件和目录列表 | svn ls path 显示path目录下的所有属于版本库的文件和目录 | |
创建纳入版本控制下的新目录 | svn mkdir | |
恢复本地修改 | svn revert | |
移除工作副本的目录或文件的“冲突”状态 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的相关文件,然后让 PATH 可以再次提交 | svn resolved PATH |