Subversion版本控制系统的安装和操作.
SVN的简单介绍
SVN是Subversoin的简称,是一个开源的版本控制系统
Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,他可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节
早期版本控制使用的是cvs,后来SVN替代了CVS,随着android兴起,出现了GIt版本控制工具.
SVN的概念
这里就会提出来一个问题,就是怎样让系统允许用户共享信息,而不会让他们因为意外而相互干扰?
复制-修改-合并方案(Subversion默认方案)
在这种模型里,每一个客户读取项目配置库建立一个私有工作副本----版本库中文件和目录的本地映射,用户并行工作,修改各自的工作副本,最终,各个私有的复制合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误.
锁定-修改-解锁方案
在这样的模型里,在一个时间段里配置库的一个文件只允许被一个人修改,此方案不适合软件开发这种工作.
SVN架构
apache为第三方服务器.
Subversion支持Linux和Window,更多的是装在Linux下.(本人就是在window下使用的svb)
svn服务器有两种运行方式:独立服务器和借助apache运行,两种方式各有利弊,用户可以自行选择.
svn存储版本有两种方式:BDB(一种事务安全型类型)和FSFS(一种不需要数据库的存储系统)
因为DBD方式在服务器中断时,可能会锁住数据,所以FSFS方式更安全一点.(所以我选择的是FSFS)
百度到的关于FSFS的介绍:
SVN的安装
SVN是一种集中式管理代码的版本控制系统,原理就是把代码都保存到一个固定的位置(仓库),每次从这个位置拷贝更新代码,进行编辑:再把修改后的代码提交到该目录下.多人协作开发也是如此,因此需要一个类似Oracle或者MYSQL的服务器用于保存和管理文件(要保存的代码等文件)的服务端----VisualSVN Server.还需要一个用户的操作端,用于提交更新检出代码,常用的有Eclipase中的svn插件,以及TottoiseSVN(小乌龟)
SubVersion 官网:http://subversion.apache.org/
VisualSVN下载
本人直接拷过来的安装包,所以这里对如何下载不做详细说明,
搜索网址:https://www.visualsvn.com/server/download/
下载完以后;
直接点next
点击这个选项,然后更改路径.
在这里进行修改路径,更改端口号
等待安装完成
安装完成以后,在桌面上没有快捷方式,然后在这里打开
打开以后出现这样的界面
创建一个新的Repository
这里选第二个选项
然后创建一个新的用户:
设置权限,点击properties
在这里可以将用户的权限设置为read和write 通过add添加用户和remove移除用户
创建组:
Tortoise(小乌龟)的安装
这里是下载的地址:https://tortoisesvn.net/downloads.html
根据自己的电脑选择32位和64位两个版本的.
本人使用过的是1.9版本的,没有进行下载,就直接进行安装了.
在这里进行改为第一项;
然后这里直接进行安装就可以
剩下的就是等待.
安装完毕.
安装完毕以后,需要进行重启电脑.
获取出来URL
浏览仓库
在这里进行清除缓存,
checkout
检出svm服务器上的项目:
桌面出现了一个文件
检出后会出现一个隐藏的.svn文件
这样的图标表示没有被svn管理是用一个问号表示,通过添加将这个文件,添加到svn管理
被管理以后的文件是一个+号,然后就可以进行提交文件
提交完成后
update 可以将svn上的内容更新到本地;
更新到历史版本,
查看日志
然后会出现这个页面,因为是第一次,没有其他版本,所以不进行演示了.
delete
标记删除操作,本地文件会删除,我们需要进行提交,才能真正从服务器删除.
导入和导出
导入:就是将本地资源导入到svn服务器中
Export导出项目:和checkout的区别,它不存在.svn文件
冲突问题和解决?
多个用户操作同一份文件时候,就可能产生冲突情况.
这个冲突产生后,如何解决?
我们采用手动Merge,解决冲突后,重新进行提交.
在这里修改,然后,得到自己想要的文件,然后将其他三份文件进行删除.
在Idea的环境下,svn的配置及其使用
注意:(使用idea时,只要登录一次,就可以一直使用svn的功能.)
首先创建一个空的项目
在这里点击:
出现在这个界面
然后会让你选择版本号,我使用的是1.8format
等着进行加载完毕
选择svn的位置(也就是小乌龟的位置)
现在svn安装完毕,在idea中配置也全部完成,
当项目与svn服务器建立联系后,会在右键菜单中出现一个subversion的选项.
将项目发布到svn服务器上
为项目设置为受版本控制(此时项目还没有上传到svn服务器上)
提交项目,将项目发布到svn服务器上
提交项目到svn服务器完毕.
新增项目内容
在项目中添加一个Demo类
提交项目内容
提交完毕后,就会回复原来的颜色
修改项目内容并提交
更新项目
检出项目
断开和svn的连接
要断开svn的连接,需要在idea上安装一个Disconnect插件
重启idea,查看CVS菜单
(本文也有不完美的地方,后续发现会跟着改进)
Subversion版本控制系统的安装和操作.的更多相关文章
- svn(subversion)版本控制系统学习与理解
定义:Apache Subversion(简称SVN,svn),一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS. 从这段话,我们可以得到四点信息: ...
- GIT分布式版本控制系统
Git诞生历史 我想大家还记得Linus torvalds在1991年时发布了Linux操作系统吧,从那以后Linux系统变不断发展壮大,因为Linux系统开源的特性,所以一直接受着来自全球Linux ...
- SVN集中式版本控制器的安装、使用与常见问题汇总
SVN是Subversion的简称,是一个开放源代码的版本控制系统,它采用了分支管理系统,集中式版本控制器 官方网站:https://www.visualsvn.com/ 下载右边的服务器端,左边的客 ...
- Subversion与TortoiseSVN的安装
首先介绍一下Subversion与TortoiseSVN两者之间的关系: Subversion是一种集中分享信息的系统,它的核心是版本库,储存所有的数据.版本库按照文件树形式储存数据-包括文件和目录. ...
- 手把手教你玩转Git分布式版本控制系统! (转载)
目录 Git诞生历史 Git环境准备 Git安装部署 Git常用命令 Git基本操作 Git管理分支结构 Git管理标签 GitLab安装部署 GitHub托管服务 Git客户端工具 Git诞生历史 ...
- 手把手教你玩转Git分布式版本控制系统!
目录 Git诞生历史 Git环境准备 Git安装部署 Git常用命令 Git基本操作 Git管理分支结构 Git管理标签 GitLab安装部署 GitHub托管服务 Git客户端工具 1 Git诞生历 ...
- Dubbo入门到精通学习笔记(三):持续集成管理平台之SVN版本管理系统的安装和使用
文章目录 持续集成管理平台介绍 持续集成介绍 持续集成管理平台的组成 持续集成实践介绍 即将学习 SVN版本管理系统的安装 安装 Subversion + Apache 安装 jsvnadmin 简单 ...
- 【山外笔记-工具框架】SVN版本控制系统
[山外笔记-框架工具]SVN版本控制系统 学习资料: 1.本文打印版下载地址:[山外笔记-框架工具笔记]SVN版本控制工具-打印版.pdf 2.SVN和TortoiseSVN在线中文文档:http:/ ...
- 版本控制系统Subversion
系统提供撤销的功能对我们实际开发中特别重要.改动后撤销几乎也是我们每个人经常做的事情.再多人进行同一个项目的开发或者测试的时候,版本的唯一性(类似于临界区资源),也就是说A 和B 两个人协同工作的时候 ...
随机推荐
- sap 类的左侧导航栏
- HTTP协议和WEB框架
一.HTTP协议 <<HTTP权威指南>>读书笔记:https://www.cnblogs.com/qcssmd/p/5508150.html 一.HTTP简介 HTTP协议是 ...
- Linux下solr集群搭建
第一步:创建四个tomcat实例.每个tomcat运行在不同的端口.8180.8280.8380.8480 第二步:部署solr的war包.把单机版的solr工程复制到集群中的tomcat中. 第三步 ...
- 23个适合logo设计的常用英文字体
在很多国外的品牌中我们都会发现他们的英文字体在logo的运用中,不仅会提升logo的品质还会让logo看起来更加美观.今天我们就来看看都有哪些常常出现在logo设计中的英文字体吧. 字体,与文字本 ...
- 适用于 Windows 7 SP1 和 Windows Server 2008 R2 SP1 的 .NET Framework 4.6、4.6.1、4.6.2 和 4.7 以及适用于 Windows Server 2008 SP2 的 .NET Framework 4.6 仅安全更新说明:2017 年 9 月 12 日
https://support.microsoft.com/zh-cn/help/4040957/description-of-the-security-only-update-for-the-net ...
- 利用Tensorflow实现神经网络模型
首先看一下神经网络模型,一个比较简单的两层神经. 代码如下: # 定义参数 n_hidden_1 = 256 #第一层神经元 n_hidden_2 = 128 #第二层神经元 n_input = 78 ...
- ida6.8 android so调试
献给还不会的同学. 我的设备 1.魅族手机,自带root功能 2.ida6.8 1.上传ida 目录下dbgsrv/android_server 到 手机上,这个目录自己可以修改,网上都用的adb p ...
- 根据异常自定义处理逻辑(【附】java异常处理规范)
▄︻┻┳═一『异常捕获系列』Agenda: ▄︻┻┳═一有关于异常捕获点滴,plus我也揭揭java的短 ▄︻┻┳═一根据异常自定义处理逻辑([附]java异常处理规范) ▄︻┻┳═一利用自定义异常来 ...
- 了解tomcat
tomcat:是一个轻量级的应用服务器,中小型公司使用,部署和发布项目,响应html bin:存放二进制文件,startup.bat:启动文件,shutdown.bat关闭文件 conf:server ...
- VC6.0 error LNK2001: unresolved external symbol __imp__ntohl@4
--------------------Configuration: oxToint1 - Win32 Debug-------------------- Linking... main.obj : ...