zoukankan      html  css  js  c++  java
  • 今天我们来聊聊svn的使用

    前言:作为一名码农,如果你告诉你的小伙伴你不会使用版本控制,那么你将会被小伙伴所鄙视,这个文章从区别带你领略他们的优缺点.

    (一)git和svn之间的区别

      svn相当于是一个云存储,必须要借助网络,才能够实时的更新和提交数据,版本放在了远程

      git相当于是一个本地存储,在不提交和更新版本文件的时候,不需要借助网络,版本控制放在了本地

    (二)git和svn初始的使用步骤(前提是已经安装了版本控制软件,建议360下载)

      1.svn的步骤

    • 建立你想变成版本控制的文件夹->cmd(管理员模式)执行svnadmin create 文件夹路径(这里要加入到环境变量)->svnserve -d -r 文件的路径
    •   执行了svnserve -d -r会实时监控不要关闭这个窗口
    •  完成了这些步骤后会在同级的文件中生成一个带有图标的svn版本控制,在这个文件里面就可以进行提交
    •   创建两个文件后,右键提交
    •   在没有配置权限的时候,没有提交的权限(下面会讲到)

      2.git步骤

    • 执行git init 把文件夹变成本地仓库->git config --list  可以查看当前用户的信息->git config --global  user.name "用户名"->git config --global  user.email "邮箱"

    (三)svn权限的配置(匿名用户与授权用户)

      1.单仓库匿名用户

    •   conf/svnserve.conf配置文件即可,把其中anno-access = read前面的注释#号给去掉,把read改为write,如下:
    •   此时配置完毕就能够成功把文件提交到版本库中了

      2.单仓库授权用户的设置

       需要修改仓库conf目录中的三个配置文件:svnserve.conf、passwd、authz

    •   

      注意:这里在做检出时候必须是svn://127.0.0.1,否则会出错,而且有时候也要考虑到缓存的问题

     (四)SVN冲突的解决

      冲突出现的原因是:由于不同用户对一个文件的同一行的内容进行的编辑,所以会出现冲突,后提交的用户必须要解决冲突才可以提交.

      解决的方法:1.强制的合并 2.提交前先更新数据

       把多余的符号去除就可以强制合并了

    (五)版本回退

    •    
    •   这里的版本回退应该是挺简单的吧!

    (六)部署多仓库

    • 在这个仓库下面进行建立多个文件(注意要开启这个app的服务的监控)同时要把java两个文件进行变成仓库的操作svnadmin create D:app 等
    •  可以对应每个仓库进行检出数据
    •   根据不同的用户的进行仓库权限设置(的开放)

     

    (七)svn监管服务注册成window系统服务

      
      以管理员的方式执行以下命令:    sc create SVNService binpath= "D:svnserverinsvnserve.exe --service -r D:app" start= auto

      

      

    (八)svn中的钩子程序

      抽象介绍:所谓钩子就是与一些版本库事件触发的程序,例如新修订版本的创建,或是未版本化属性的修改。每个钩子都会被告知足够多的信息,包括那是什么事件,所操作的对象,和触发事件的用户名。通过钩子的输出或返回状态,钩子程序能让工作继续、停止或是以某种方式挂起。

       

      说的简单点,我们可以利用钩子在提交前或者是提交后做一些操作。如:

    • 利用提交前的钩子让用户在提交代码前强制用户必须填写备注信息(了解)。

    • 利用提交后的钩子把svn仓库代码实时同步到网站web目录(重点掌握,开发中使用较多

        修改两个文件就可以实现钩子事件

      post-commit.bat内容为:

    SET SVN="D:svnseverinsvn.exe"
    SET DIR="D:local.comlog"
    SVN update %DIR% --username  dashen --password dashen123

       2.后钩子

       

      

      

    IT这条路,当你懂得越多的时候,那么你不懂的也就会越多了.
  • 相关阅读:
    WIndows下编译libexif-0.6.21,生成VS下可用的dll和lib
    Android开发之获取系统12/24小时制的时间
    转自 x_x的百度空间
    BZOJ1483: [HNOI2009]梦幻布丁
    BZOJ2124: 等差子序列
    BZOJ2431: [HAOI2009]逆序对数列
    BZOJ1831: [AHOI2008]逆序对
    2821: 作诗(Poetize)
    BZOJ2038小Z的袜子(hose)
    NOI2005维护数列
  • 原文地址:https://www.cnblogs.com/learningPHP-students2018/p/10161009.html
Copyright © 2011-2022 走看看