今天我们来聊聊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:\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的使用的更多相关文章
- 聊聊Unity项目管理的那些事:Git-flow和Unity
0x00 前言 目前所在的团队实行敏捷开发已经有了一段时间了.敏捷开发中重要的一个话题便是如何对项目进行恰当的版本管理.项目从最初使用svn到之后的Git One Track策略再到现在的GitFlo ...
- 从架构演进的角度聊聊Spring Cloud都做了些什么?
Spring Cloud作为一套微服务治理的框架,几乎考虑到了微服务治理的方方面面,之前也写过一些关于Spring Cloud文章,主要偏重各组件的使用,本次分享主要解答这两个问题:Spring Cl ...
- Spring Cloud Config(一):聊聊分布式配置中心 Spring Cloud Config
目录 Spring Cloud Config(一):聊聊分布式配置中心 Spring Cloud Config Spring Cloud Config(二):基于Git搭建配置中心 Spring Cl ...
- 02 SVN 与 Git 的优缺点
上一篇博客大致聊了聊关于版本控制系统的周边,这一篇我们就来继续唠唠作为近年来最受欢迎的两个版本控制系统的优缺点吧. 聊优缺点之前,先简单了解一下这两个这两个版本控制系统好了: 关于 SVN SVN 概 ...
- Mono为何能跨平台?聊聊CIL(MSIL)
前言: 其实小匹夫在U3D的开发中一直对U3D的跨平台能力很好奇.到底是什么原理使得U3D可以跨平台呢?后来发现了Mono的作用,并进一步了解到了CIL的存在.所以,作为一个对Unity3D跨平台能力 ...
- svn 常用命令总结
svn 命令篇 svn pget svn:ignore // 查看忽略项 svn commit -m "提交说明" // 提交修改 svn up(update) // 获取最新版本 ...
- svn常用命令
1.新建版本库 [root@localhost repos]# mkdir -p project [root@localhost repos]# svnadmin create project [ro ...
- 对Maven、gradle、svn、spring 3.0 fragment、git的想法
1.Maven Maven可以构建项目,采用pom方式配置主项目和其他需要引用的项目.同时可结合spring3.0的新特性web fragment. 从现实出发,特别是对于管理不到位,程序员整体素质 ...
- 电脑新建svn仓库
步骤1:安转svg: 注意事项: 安装的时候选择:Modify 安装到以下图片的步骤时: 黄色区域选择: 步骤2:新建svn仓库文件夹(本教程例子:D:\svn-5gpos),选择文件夹右键,点击下图 ...
随机推荐
- UOJ273 [清华集训2016] 你的生命已如风中残烛 【数学】
题目分析: 把$0$卡牌看成$-1$.题目要求前缀和始终大于等于$1$. 最后添加一个$-1$,这样除了最后一位之外大于等于1,最后一位等于0. 构造圆排列.这样的话一个圆排列只有一个满足的情况,然后 ...
- 「Splay」普通平衡树模板
口诀: $rotate$:先上再下,最后自己 $splay$:祖父未到旋两次,三点一线旋父亲,三点折线旋自己. $delete$:没有儿子就删光.单个儿子删自己.两个儿子找前驱. 易错点: $rota ...
- poi的cellstyle陷阱,样式覆盖
问题 cell.getCellStyle().setFont(font); 这句话本来只是想设置这一个单元格cell的字体样式,但是实际上却影响了很多个单元格的样式. 问题出在了,Excel模板中这些 ...
- [loj6388] 「THUPC2018」赛艇 / Citing
Description 给你一个\(~n \times m~\)的\(~01~\)矩阵,一个人在这个矩阵中走了\(~k~\)步,每一次都往四联通方向中的一个走一步.给定这个人每一步走的方向,已知这 ...
- 简单聊聊WebSocket
一.概述 上一篇文章<浅析一次HTTP请求>我们分析了简单的一次 HTTP 请求具体是怎么样完成的,分析了 HTTP 协议的数据结构,如何连接,如何断开,又是如何多路复用的,那么今天我们来 ...
- Android assets res 文件夹的区别
大家都知道建立一个Android项目后会产生assets与res的两个文件夹,理论上他们都是存放资源的文件夹,那么他们到底有什么区别呢? 1.assets:不会在R.java文件下生成相应的标记,存放 ...
- 【LOJ#6060】Set(线性基)
[LOJ#6060]Set(线性基) 题面 LOJ 题解 好题啊QwQ. 首先\(x1\oplus x2=s\)是定值.而\(s\)中假设某一位上是\(1\),则\(x1,x2\)上必定有一个是\(1 ...
- centos7搭建ELK Cluster集群日志分析平台(一):Elasticsearch
应用场景: ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构, 很多公司利用它来搭建可视化的海量日志分析平 ...
- Centos 6.x/7.x yum安装php5.6.X
鉴于Centos 默认yum源的php版本太低了,手动编译安装又有点一些麻烦,那么如何采用Yum安装的方案安装最新版呢.那么,今天我们就来学习下如何用yum安装php最新版. 1.检查当前安装的PHP ...
- 2017蓝桥杯 省赛C题(承压计算)
X星球的高科技实验室中整齐地堆放着某批珍贵金属原料. 每块金属原料的外形.尺寸完全一致,但重量不同.金属材料被严格地堆放成金字塔形. 7 5 8 7 8 8 9 2 7 2 8 1 4 9 1 8 1 ...