一、 svn的安装与创建
1、 安装
系统版本是:CentOS Linux release 7.1.1503 (Core), 采用yum安装。
[root@instance-3lnxcnco /]# yum -y install subversion
2、 版本库的配置(创建版本库)
生成版本库目录:
[root@instance-3lnxcnco /]# cd /usr
[root@instance-3lnxcnco usr]# mkdir /usr/DevRepository
[root@instance-3lnxcnco usr]# mkdir /usr/DevRepository/svnData
创建版本库:
[root@instance-3lnxcnco usr]# svnadmin create DevRepository/svnData/pinbanr
创建多个版本库,每个版本库创建成功后都会在其目录下生成如下的目录结构。
3、 启动或结束服务端程序
[root@instance-3lnxcnco /]# svnserve -d -r /usr/DevRepository/svnData/
通过管道查看服务的启动情况:
[root@instance-3lnxcnco /]# ps -ef|grep svnserve
通过kill结束服务:
[root@instance-3lnxcnco /]# kill -s 9 17991;
17991是上面查看到的端口号
二、 版本库的权限配置
1、 授权访问
进入到相应的版本库的conf目录下
[root@instance-3lnxcnco /]# cd /usr/DevRepository/svnData/pinbanr/conf
a、设置版本库授权访问
编辑svnserve.conf
[root@instance-3lnxcnco /]# vi svnserve.conf
加入以下以下标记中的三个
b、创建编辑用户
编辑 passwd.conf
[root@instance-3lnxcnco conf]# vi passwd
用户wxc与wangmengmeng
c、 创建用户组
编辑 authz文件
[root@instance-3lnxcnco conf]# vi authz
用户组
[groups]
<用户组名> = <用户1>,<用户2>
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
d、 将具体文件给用户与用户组授权
编辑 authz文件
[root@instance-3lnxcnco conf]# vi authz
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
/,表示根目录(仓储目录)及以下。根目录是svnserve启动时指定的,我们指定/opt/svndata。这样,/就是表示对全部版本库设置权限。
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。
e、 多个版本库共享权限配置(对配置文件进行操作)
在 版本库根目录 下创建 commConf 目录 将 未修改的 authz 和 passwd 文件拷贝到 commConf 目录下
修改 需要设置权限的版本库 的 svnserve.conf 文件
password -db = ../../commConf/passwd
authz - db = ../../commConf/authz
在 password 中创建 用户
三、 svn的访问sd
1、 签入文件到仓库
1)、通过import命令
[root@instance-3lnxcnco conf]# svn import /usr/local/mywork/pinbanrwork file:///usr/DevRepository/svnData/pinbanr -m "pinbanr工作目录"
2)、 通过TortoiseSVN客户签入
2、 删除文件
目前没有想到怎么直接删除 签入版本库的文件
3、 检出
1)、linux下的命令检出
[root@instance-3lnxcnco locks]# svn checkout file:///usr/DevRepository/svnData/pinbanr/locks
进入到相应的目录做签出
也可以使用export命令
root@instance-3lnxcnco locks]# svn export file:///usr/DevRepository/svnData/pinbanr/locks
export 简单导出一个版本的数据,导出的文件脱离SVN版本控制,修改后无进行Update和Commit操作。导出文件夹下没有.svn目录。
所以在些也无法使用一些svn命令,例如: svn mkdir file(直接会纳入版本库); svn commit file ; svn add file 等等,当然也无法使用TortoiseSVN的相应功能
2)、TortoiseSVN
4、 提交
如果是新的文件,则需要先用svn add 加入版本库,然后进行上传。
1) 在linux下使用的命令
[root@instance-3lnxcnco locks]# mkdir work_test
[root@instance-3lnxcnco locks]# svn add work_test
[root@instance-3lnxcnco locks]# svn commit work_test -m "测试方法"
2)、通过TortoiseSVN工具先add, 再commit;
5、 更新
1) 在linux下使用的命令
[root@instance-3lnxcnco locks]# svn update
2)、通过TortoiseSVN工具点右键update;
6、 副本文件的状态
(略)
7、 恢复到某个历史版本
a、整体
(略)
b、单个
(略)
四、 版本库的维护
1、 查看工作副本信息(svn info)
2、 查看目录与文件日志信息(svn log)
五、 版本冲突的解决
1、 冲突发生后文件会有如下改变:
2、 解决冲突:
人式沟通修改文件,并删除。.mine 与 .r文件。eliplse 在冲突文件上右键--> Team --> 标记为已解决。
六、 第三方工具安装svn客户端插件
(略)
七、 svn独立客服端:TortoiseSVN
(略)
八、svn 版本库的备份与迁移
(略)