在中小型企业中开发一般会用到SVN 进行分布式开发,通过学习,熟悉以后的开发流程
概念
这个百度吧,概念一般很专业,但不容易懂
CVS SVN GIT 三者之间的区别
SVN介绍与安装
SVN 分服务器端和客户端,一般客户端在本地创建代码库,服务端是在远程服务器上搭建代码库
注意:在使用命令的时候要搞清算是服务端命令还是客户端命令
版本库的创建与删除—–服务端命令
|
|
可以添加参数指定版本库储存的数据类型
删除版本库
版本库配置
位于版本库文件下的 path/repos/conf 文件夹
其中有三个文件
1、svnserve.conf文件
在svn版本库权限上注意更新的概念:
- 更新代码:是从服务器更新到本地的操作
- 提交代码:是从本地修改的代码提交到服务器上的过程
打开svnserve.conf
前两个表示在无用户密码的情况下只有只读的权限,
再有密码情况下拥有读写提交上传的权限
|
|
2、password文件
格式 如上
添加一个didiaoyuan用户 密码为123456
以此后面用户都可以按照这个格式添加
3、authz文件
如图中注释
版本库的访问
需要先搭建svn服务启动,其他客户端才能访问
运行svn服务
获取checkout —–客户端命令
|
|
获取checkout —–客户端图形界面管理
在文件夹先右键
第一行填写版本库服务器地址
第二行需要导入的文件夹地址
SVN自启动
概念,当服务器开启自动启动svn服务
linux 开机根据启动级别启动
乌邦图下etc/rc.local文件中 exit 0 上面 写入 svn启动服务命令 svnserve -d -r /路径
不同系统下修改的方式不同,可通过百度或者google查询修改方式
SVN常见术语与文件状态
常见的客户端命令
工作副本还原
|
|
二进制冲突与树冲突
场景:冲突常出现在工作副本长时间未更新
冲突:在其他程序员提交相同位置代码到代码块,而自己因为没有update,在相同的位置下进行修改,当发生提交的时候发生冲突
二进制冲突:文件一般是二进制,精确到代码的那一行
树冲突:不是二进制文件,无法精确具体一行
处理冲突
解读:
update 弹出输入提示
df 对比图中
推荐p推迟处理,推迟后回生成冲突文件,删除不需要的
|
|
锁定与解锁
|
|
lock 是一种conflict 处理方案,当遇到很多人对同一个文件进行修改,锁定只会影响开发效率
问题1:服务器上的版本库文件在哪里?
- 把文件上传到SVN版本库后,上传的文件不再以文件原来的格式存储,而是被svn以它自定义的格式压缩成版本库数据,存放在版本库中。(17年9月26日)