02、版本管理-SVN

一、SVN和GIT

  • SVN: 集中式版本控制系统
    集中式是版本库是集中到服务器的,即是必须依赖于服务器,必须联网才能工作;

  • GIT: 分布式版本控制系统
    分布式是每个人的电脑都是一个完整的版本库,服务器只是充当于数据交换的;

二、SVN搭建

  • SubVersion: 实现服务系统的软件,即是SVN服务端程序;
    SubVersion还需要配合Apache服务器使用,为了简单操作直接使用VisualSVN(集成了SubVersion和Apache);

  • TortoiseSVN: 是SVN客户端程序,为windows外壳程序集成到windows资源管理器和文件管理系统的Subversion客户端;

  下载地址: 360软件管理(TortoiseSVN和TortoiseSVN中文语言包)

(右键菜单没有显示SVN相关内容: 开始菜单中的搜索 —> regedit —> HKEY_CLASSES_ROOT/*…/TortoiseSVN —> 右键TortoiseSVN —> 权限 —> 高级 —> 所有者 —> 将所有者改为administrator —> 应用 —> 确定 —> 确定 —> 重启电脑)

三、SVN服务器端

  • 创建SVN仓库(打开VisualSVN Server Manager)
  - db目录就是所有版本控制的数据存放文件;
  - hooks目录放置hook脚本文件;
  - locks目录放置Subversion文件库说动数据的目录,用来追踪存取文件库的客户端;
  - format文件是文本文件,里面只放一个整数,表示当前文件库配置的版本号;
  - conf目录是这个仓库的配置文件(仓库的用户访问账号、权限)
  • 创建用户(添加组)

  • SVN仓库添加对应用户的权限

四、客户端操作

  • SVN操作:
  - checkout 将服务器上最新的代码仓库下载本地"只需要做一次"
  - update 从服务器上将其他人所做的修改下载到本地"每天上班必须要做的事情"
  - commit 将工作提交到服务器(提交之前最好是先操作update)"每天下班之前至少做一次" 
01-SVN图标说明

02-SVN图标说明

版本控制器最常见的两个错误:
1、超时
SVN原则: 先更新再提交;只有本地版本号大于等于服务器版本号时,才能提交,否则会报错out data;
2、冲突
仅仅在两个人同时修改同一行代码时,才会出现冲突,但更多最好不要多人同时修改同一个文件;
(双击错误信息,版本对比)
main.html.mine(冲突版本:自己的)
main.html.r9(数字小的,是未冲突版本)
main.html.r10(数字大的,是冲突版本:对方的,即服务器的)
而在main.html中也会出现自己代码以及对方代码,即标识出哪现冲突【 <<< 存放的是自己修改的代码 ==== 存放的是服务器最新的代码 >>>> 】

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS 开发 SVN 版本控制器 更多技术交流请加群 iOS技术联盟 27512466 SVN是Subversio...
    Sunny_Fight阅读 8,842评论 7 63
  • 3个问题 安装优化软件环境nginx,lvs <== 运维工程师 程序代码(不断更新)<==开发工程师,开发+运维...
    木心若素阅读 8,076评论 1 7
  • 命令的使用 1、检出 svn cohttp://路径(目录或文件的全路径)[本地目录全路径] --username...
    小李龍彪阅读 4,457评论 0 9
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • 一般企业SVN配置:TortoiseSVN和VisualSVN Server黄金组合,最主要是免费的Tortois...
    西门丨不吹雪阅读 1,987评论 1 5