zoukankan      html  css  js  c++  java
  • 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/
  • 相关阅读:
    ElasticSearch入门 第一篇:Windows下安装ElasticSearch
    怎样打开.jar格式文件,怎样运行.jar格式文件
    如何安装java环境和如何配置java环境
    JDK安装、java环境配置
    学习PHP好,还是Python好呢?
    艾伟:WPF简介 狼人:
    艾伟:ASP.NET MVC,深入浅出IModelBinder,在Post方式下慎用HtmlHelper 狼人:
    艾伟:在Mono平台开发前你应该知道 狼人:
    艾伟:一个较完整的关键字过滤解决方案(上) 狼人:
    艾伟:闲话WPF之一(WPF的结构) 狼人:
  • 原文地址:https://www.cnblogs.com/huahuawang/p/15228242.html
Copyright © 2011-2022 走看看