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

(一)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:\svn\server\bin\svnserve.exe --service -r D:\app\" start= auto

  

  

(八)svn中的钩子程序

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

  

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

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

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

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

  post-commit.bat内容为:

SET SVN="D:\svn\sever\bin\svn.exe"
SET DIR="D:\local.com\blog"
SVN update %DIR% --username dashen --password dashen123

  2.后钩子

  

  

  

今天我们来聊聊svn的使用的更多相关文章

  1. 聊聊Unity项目管理的那些事:Git-flow和Unity

    0x00 前言 目前所在的团队实行敏捷开发已经有了一段时间了.敏捷开发中重要的一个话题便是如何对项目进行恰当的版本管理.项目从最初使用svn到之后的Git One Track策略再到现在的GitFlo ...

  2. 从架构演进的角度聊聊Spring Cloud都做了些什么?

    Spring Cloud作为一套微服务治理的框架,几乎考虑到了微服务治理的方方面面,之前也写过一些关于Spring Cloud文章,主要偏重各组件的使用,本次分享主要解答这两个问题:Spring Cl ...

  3. Spring Cloud Config(一):聊聊分布式配置中心 Spring Cloud Config

    目录 Spring Cloud Config(一):聊聊分布式配置中心 Spring Cloud Config Spring Cloud Config(二):基于Git搭建配置中心 Spring Cl ...

  4. 02 SVN 与 Git 的优缺点

    上一篇博客大致聊了聊关于版本控制系统的周边,这一篇我们就来继续唠唠作为近年来最受欢迎的两个版本控制系统的优缺点吧. 聊优缺点之前,先简单了解一下这两个这两个版本控制系统好了: 关于 SVN SVN 概 ...

  5. Mono为何能跨平台?聊聊CIL(MSIL)

    前言: 其实小匹夫在U3D的开发中一直对U3D的跨平台能力很好奇.到底是什么原理使得U3D可以跨平台呢?后来发现了Mono的作用,并进一步了解到了CIL的存在.所以,作为一个对Unity3D跨平台能力 ...

  6. svn 常用命令总结

    svn 命令篇 svn pget svn:ignore // 查看忽略项 svn commit -m "提交说明" // 提交修改 svn up(update) // 获取最新版本 ...

  7. svn常用命令

    1.新建版本库 [root@localhost repos]# mkdir -p project [root@localhost repos]# svnadmin create project [ro ...

  8. 对Maven、gradle、svn、spring 3.0 fragment、git的想法

    1.Maven Maven可以构建项目,采用pom方式配置主项目和其他需要引用的项目.同时可结合spring3.0的新特性web  fragment. 从现实出发,特别是对于管理不到位,程序员整体素质 ...

  9. 电脑新建svn仓库

    步骤1:安转svg: 注意事项: 安装的时候选择:Modify 安装到以下图片的步骤时: 黄色区域选择: 步骤2:新建svn仓库文件夹(本教程例子:D:\svn-5gpos),选择文件夹右键,点击下图 ...

随机推荐

  1. 洛谷P1107[BJWC2008]雷涛的小猫题解

    题目 这个题可以说是一个很基础偏中等的\(DP\)了,很像\(NOIpD1T2\)的难度,所以这个题是很好想的. 简化题意 可以先简化一下题意,这个题由于从上面向下调和从下向上爬都是一样的,所以我们就 ...

  2. 【BZOJ1999】【NOIP2007】树网的核 单调队列优化DP

    题目描述 题目很长,大家自己去看吧. bzoj vijos 原题\(n\leq 300\) 加强版\(n\leq 500000\) 题解 这种东西当然要猜结论的啦,否则会比较麻烦. 结论1:如果有很多 ...

  3. 【比赛】NOIP2018 货币系统

    可以发现最后的集合一定是给定集合的子集 所以就变成了裸的背包嘛,对于每个数判断它能不能被其它数表示出来,如果可以,就表示这个数是没用的,可以去掉 #include<bits/stdc++.h&g ...

  4. debugger

    今天爬取cfda时遇到的困难,一旦开启了调试,就debugger pause, ???还有这种操作 一顿google,百度,解决了这个问题,点一下Deactivate breakPoints,然后点一 ...

  5. Jupyter-Notebook服务器自定义密码

    往期回顾 Anaconda安装:https://www.cnblogs.com/dotnetcrazy/p/9158715.html 基本知识导航篇:https://www.cnblogs.com/d ...

  6. bzoj3467: Crash和陶陶的游戏

    就一篇题解: BZOJ3467 : Crash和陶陶的游戏 - weixin_34248487的博客 - CSDN博客 1.离线,建出Atrie树:B树的倍增哈希数组,节点按照到根路径字典序排序 2. ...

  7. vue-router 如何默认显示三级子路由

    { path: '/aaa', name: 'aaa', title: '统计分析', component: () => import('@/aaa.vue'),//一级子组件.容器 child ...

  8. CSS修改滚动条样式

    <div class="qq_bottom">超出部分变滚动条</div> /*//滚动条整体部分*/ .qq_bottom::-webkit-scroll ...

  9. 【BZOJ3289】Mato的文件管理 莫队+树状数组

    题目大意:给定一个长度为 N 的序列,M 个询问,每次询问区间逆序对的个数. 题解:用树状数组加速答案转移. 代码如下 #include <bits/stdc++.h> #define f ...

  10. 转:在Struts 2中实现文件上传

    (本文转自:http://www.blogjava.net/max/archive/2007/03/21/105124.html) 前一阵子有些朋友在电子邮件中问关于Struts 2实现文件上传的问题 ...