2. SVN-集中式版本控制系统.


SVN-集中式版本控制系统

 

SVN 官网:https://subversion.apache.org/
Github SVN 源码:https://github.com/apache/subversion

SVN是什么

SVN的全程是subversion,SVN版本控制软件可以解决协助开发、远程开发和版本回退三个问题。

特点:操作简单、入门简单、跨平台操作 。

SVN是输入C/S服务类软件,有客户端和服务端。

SVN的服务端

  1. Repository(源代码库):源代码统一存放的地方;
  2. Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份;
  3. Update (更新):当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更。Update(获得最新的代码) -->作出自己的修改并调试成功 --> Commit(大家就可以看到你的修改了) 。
  4. Commit(提交):当你已经修改了代码,你就需要Commit到repository;

SVN服务端

1 服务端安装:https://sourceforge.net/projects/win32svn/

2 配置工作:

  • 先在svn目录下建立一个WebApp文件夹
  • 在WebApp文件下建立Shop。目前还只是文件夹,还需要和svn产生联系
  • (切换到Shop目录下)在DOS命令行下输入 svnadmin create Shop ,如果配置成功,那么shop应该多了6个文件(创建版本仓库)

3 服务器监管:

  • Apache— http://localhost:8080 访问htdocs目录

  • SVN— svn://localhost: 访问相关的数据仓库(如shop)

    基本语法
     svnserve -d(后台运行) -r(监管目录) 版本仓库路径
    示例:

    通过以上指令,我们的svn://localhost 或ip地址就可以直接指向Shop版本仓库。

         

4 SVN的权限的配置文件都在conf中

  • 打开svnserver.conf ,找到 #anon-access = read (19行)anon-access = write

SVN客户端(TortoiseSVN)

1 安装 :下载地址:https://tortoisesvn.net/downloads.html, 页面里有语言包补丁的下载链接。

2 安装汉化包 (安装完成后,在桌面空白地方右键:TortoiseSVN -- Settings -语言)

3 配置完之后第一次牵手:checkout(检出)

  1.首先随便建个文件夹,取名jingli;
  2.在你的项目目录右键—>TortoiseSVN—>版本库浏览器—>输入SVN服务器地址;
    打开隐藏功能如果能看到.svn这个文件夹就说明客户端和服务端连接起来了,检出成功;

SVN 使用的详解

  1. 三大指令

    • checkout 检出操作: 1.连接到服务器 2.第一次链接的时候更新数据到本地,后面使用update(更新指令)

    • commit 提交代码:

        

       

      -update 更新操作

       右键更新操作即可自动更新最新的版本到本地。

图标集的含义

图标集的一些含义

 

  1. 常规就是服务器和客户端数据一致;
  2. 无版本控制,编写好的文件没有上传队列;
  3. 锁定图标,服务器端已锁定。

忽略功能

忽略功能就是自己不想分享到服务器,仅仅是给自己看的内容:

1 忽略某个文件夹

2 忽略某个类型的文件

版本回退

  1. 每次修改的时候之后,提交的时候需要写好备注:

  1. 但是我又想恢复到某个版本:

可以根据日志的信息选择要回退的状态

 //再也不担心错误删除了吧,前提是需要commit你的代码

版本冲突

1 当两个人同时修改一份文档的时候就可能发生冲突

避免版本冲突:

  • 错开开发时间

  • 错开开发模块

  • 通过svn解决版本冲突问题:

    一、更新服务器数据到本地

     

  二、删除三个带问好的文件

  三、修改index.php冲突的文件

  四、重新提交

  

配置多仓库与权限

监管总目录

权限限制

authz:授权文件,告诉用户有哪些权限

passwd:认证文件,表示用户名和密码

默认情况、两个文件都是禁用的,必须要开启上面两个文件,具体步骤如下:

  1 注释匿名用户可读写的权限:

  

    2 开启认证和授权文件

  

   3 编写认证文件,定义用户和密码:打开passwd

  

   4 编写授权文件:

  

  分组+授权

  5 测试是否成功

配置服务器的自启动服务
sc create SVNService binpath = “D:subversioninsvnserve.exe – service - D:/svnroot” start = auto
在cmd中输入相关命令: sc create 服务名称 binpath=空格"svnserve.exe --service"

在控制面板-管理工具-服务找到SVNserver
运行成功,svn监管服务开发成功
使用批处理文件来停止和开启管理器
启动服务 net start 服务名称

停止服务 net stop 服务名称

删除服务 sc delete 服务名称

封装成为.bat封装就可以减少很多工作量

模拟真实场景(重难点)
1、 使用钩子程序对项目进行更新

post-commit.tmpl: 事物完成之后触发的钩子程序

默认情况用批处理或者Shell指令完成

SVN扩展程序
1、BAE云引擎

百度应用引擎(BAE),网络应用开发平台。

http://bce.baidu.com/

作者:华王 博客:https://www.cnblogs.com/huahuawang/
原文地址:https://www.cnblogs.com/huahuawang/p/15228242.html