网站首页 > 开源技术 正文
一、SVN概述
1.1 SVN介绍
SVN是Subversion的简称,是一个自由开源的版本控制系统。 Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节。
1.2 SVN基本概念
1.3 SVN模式
复制-修改-合并方案(Subversion默认的模式)
在这种模型里,每一个客户读取项目配置库建立一个私有工作副本——版本库中文件和目录的本地映射。用户并行工作,修改各自的工作副本,最终,各个私有的复制合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误。
1.4 SVN架构
Subversion支持Linux和Windows,更多是安装在Linux下。
svn服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择。
svn存储版本数据也有2种方式:BDB一种事务安全型表类型和FSFS一种不需要数据库的存储系统。 因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。
二、SVN使用
2.1 SVN是一种集中式管理代码的版本控制系统,原理就是把代码都保存到一个固定的位置(仓库),每次从这个位置拷贝更新代码,进行编辑;再把修改后的代码提交到该目录中。多人协作开发也是如此。因此需要一个类似Oracle 或者Mysql的服务器用于保存和管理库文件(要保存的代码等文件)的服务端——VisualSVN Server。还需要一个 用户的操作端,用于提交更新检出代码,常用的有idea的Svn插件,以及TortoiseSVN(小乌龟)。
2.2 服务器端VisualSVN安装与配置
2.2.1 VisualSVN下载
2.2.2 VisualSVN安装与创建仓库
在开始运行中录入 services.msc开启服务。
服务开启后,在开始运行中查找visualSVN Server Manager就可以打开图形化管理界面:
2.2.3 VisualSVN创建工程目录
2.2.4 VisualSVN 权限控制
创建用户
创建组
分配权限
2.3 客户端TortoiseSVN安装与使用
TortoiseSVN是一个基于windows系统的svn客户端图形化界面
2.3.1 Tortoise SVN下载
2.3.2 Tortoise SVN安装
2.3.3 Tortoise SVN 常用操作
2.3.3.1 浏览仓库
正常情况下,在浏览仓库时会要求录入username 与password
2.3.3.2 checkout
导出svn服务器上的项目
注意:检出后会有 一个.svn隐藏目录
2.3.3.3 add
2.3.3.4 commit
2.3.3.5 update
Update,它是更新操作,可以将svn服务器上的内容更新到本地
2.3.3.6 更新到历史版本
2.3.3.7 delete
标记删除操作,本地文件会删除,我们需要进行提交,才能真正从服务器删除
2.3.3.8 导入与导出
Import将本地资源导入到svn服务器
Export导出项目,和checkout的区别在于它不存在.svn隐藏文件
2.3.3.9 冲突问题与解决
多个用户同时操作同一个文件时,就可能产生冲突情况。
这个冲突产生后如何解决,我们可以采用手动Merge,解决冲突后,重新commit
HelloWorld.java 它是服务器上的文件与本地文件合并
HelloWorld.java.mine 本地修改后的文件
HelloWorld.java.r4 修改前的文件
HelloWorld.java.r5 对方修改后的文件
2.4 IDEA下 SVN 配置与使用
2.4.1 IDEA下svn配置,前提是安装了TortoiseSVN
安装完成后,右上角的图标显示:
1.Update Project 更新项目
2.Commit changes 提交项目上所有变化文件
3.Compare with the Same Repository Version 当前文件与服务器上该文件通版本的内容进行比较。如果当前编辑的文件没有修改,则是灰色不可点击。
4.Show history 显示当前文件的历史记录
5.Revert 还原当前被修改的文件到未被修改的版本状态下
下方的日志信息显示:
1.Local Changes 本地修改过的文件都会出现在这里
2.Repository svn仓库所有提交记录
3.Incoming 本地还没有更新的别人提交的代码
2.4.2 IDEA 下SVN使用
2.4.2.1 share project
2.4.2.2 checkout
2.4.2.3 add commit update
2.4.2.4 ignor:选择上传时忽略的文件或文件夹
2.4.2.5 解决冲突
三、 SVN规范
3.1 SVN目录规范
3.2 分支与标记
3.2.1.分支或标记规范
分支的定义规则:Project name+日期时间+功能点
Tags的定义规则:Project name+版本号 版本号定义为三段数字 编号 xxx.xxx.xxx 第一个:革命性的产品升级版 第二个:新功能版 第三个:修正bug
3.2.2 打分支或标记
Tags一般是只读,它代表的是发布的版本,所以我们不要进行改变。
3.3 主干与分支或标记的合并
3.3.1 主干合并到分支
- 上一篇: 推荐 33 个 IDEA 最牛配置,写代码太爽了
- 下一篇: svn管理的项目如何修改项目的文件名
猜你喜欢
- 2025-01-04 idea开发工具简介—界面常用设置介绍(一)
- 2025-01-04 CentOS7搭建svn服务器
- 2025-01-04 还有不会运行项目的吗?手把手教用idea运行项目
- 2025-01-04 行业领先的Java IDE——IntelliJ IDEA v2022.3全新发布
- 2025-01-04 2022年Java学习路线图,精心整理「史上最全」
- 2025-01-04 idea实用插件推荐“Mybatis Log Plugin”
- 2025-01-04 手把手教你用idea复制maven项目
- 2025-01-04 JetBrains IntelliJ IDEA2024破解激活教程 (面向Java开发者的IDE)
- 2025-01-04 为什么越来越多的人选择使用idea软件
- 2025-01-04 我敢保证,全网没有再比这更详细的Java知识点总结了,送你啊
你 发表评论:
欢迎- 05-16东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 05-16这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 05-16湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- 05-16Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- 05-16G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- 05-16DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 05-16上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- 05-16WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 最近发表
-
- 东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 湖人自媒体调查:89%球迷希望DFS回归 79%希望詹姆斯回归
- 一觉醒来湖人苦盼的纯3D终于到位 DFS能带给紫金军多少帮助
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)