首页 >> 大全

svn是什么工具,解决什么问题(SVN简介和安装与配置)

2022-12-06 大全 534 作者:考证青年

在开发工作中可能会经常遇到备份,代码还原,多版本项目文件管理、追溯问题代码的编写和编写时间,权限控制。

什么是SVN?

是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。

就是一款实现版本控制的工具软件,通常也称为版本控制器,简称SVN。是软件基金会组织下的一个项目

①目录版本控制

CVS只能追踪单个文件的历史,但是实现了一个“虚拟”文件系统,可以追踪整个目录树的修改,文件和目录都是版本控制的,结果就是可以在客户端对文件和目录执行移动和复制命令。

②原子提交

提交要么完全进入版本库,要么一点都没有,这允许开发者以一个逻辑块提交修改。

③版本控制的元数据

每个文件和目录都有一组附加的“属性”,你可以发明和保存任意的键/值对,属性也会像文件内容一样被纳入版本控制。

④可选的网络层

在版本库访问方面有一个抽象概念,利于人们去实现新的网络机制,的“高级”服务器是 网络服务器的一个模块,使用 HTTP 的变种协议 / 通讯,这给了 在稳定性和交互性方面很大的好处,可以直接使用服务器的特性,例如认证、授权、传输压缩和版本库浏览等等。也有一个轻型的,单独运行的 服务器,这个服务器使用自己的协议,可以轻松的用 SSH 封装。

⑤一致的数据处理

使用二进制文件差异算法展现文件的区别,对于文本(人类可读)和二进制(人类不可读)文件具备一致的操作方式,两种类型的文件都压缩存放在版本库中,差异在网络上双向传递。

⑥高效的分支和标签

分支与标签的代价不与工程的大小成比例,建立分支与标签时只是复制项目,使用了一种类似于硬链接的机制,因而这类操作通常只会花费很少并且相对固定的时间,以及很小的版本库空间。

SVN的工作原理:采取客户端/服务器模式——在服务器的版本库中保存项目文件的各个版本,所有参与协同开发的程序员在自己本地电脑上保存一个工作副本。SVN支持程序员将本地副本更新到服务器端的最新版本,也支持将本地副本的最新改变更新到服务器端,而且后面的更新不会覆盖前面的更新,而是作为一个新的版本被保存下来——SVN甚至支持将本地工作副本恢复为服务器端保存的某一个历史版本。

①检出():将一个服务器端创建好的项目整个下载到本地,这是到项目组后参与开发的第一步,只需执行一次。

②更新():将本地文件更新为服务器端的最新版本,通常为每天上班时或修改公共文件之前执行一次。

③提交(mit):将本地修改提交到服务器端。通常每天下班前或每实现一个功能、完成一个模块时执行一次。

①服务器端程序版本

目前的最新版本是 1.9.0-,这是一个测试版。官方网站推荐使用的版本是1.8.9,原话是:The best of is: 1.8.9

②下载源码包

组织自己维护更新的只是的源码,各个版本的源码包的下载地址是:

源码是使用C语言开发的。

③下载二进制安装包

在不同平台下的二进制包是由不同组织构建实现的,平台下的二进制包实现情况如下:

所以,服务器端程序的下载地址可以使用:

下载到的文件是:Setup--1.8.14.msi

④双击运行Setup--1.8.14.msi

不整合服务器可以忽略此选项

⑤安装程序会自动配置Path环境变量

D:bin

所以bin目录下的可执行文件可以在任意目录下运行。

⑥验证是否安装成功

在命令行输入:svn --

看到如下信息就表示服务器端程序安装成功

①为什么要配置版本库?

是将文件数据信息保存到版本库中进行管理的,为了满足用户的不同需求,允许用户对版本库目录进行定制。

②在一个非中文无空格目录下创建一个文件夹,作为版本库的根目录。

例如:D:ion

③在版本库根目录下创建与具体项目对应的子目录——这样做的目的是使一个SVN服务器能够同时管理多个项目,而不是为每一个项目搭建一个SVN服务器——这显然太浪费资源了。

例如:D:

D:

D:ionOA

④创建版本库

命令格式

主命令 子命令 参数1

仓库路径

举例

D:

⑤版本库目录结构

版本库创建成功后会在指定目录下产生如下的目录结构

①SVN服务器必须处于运行状态才能响应客户端请求,帮助我们管理项目文件。所以我们必须将SVN服务器启动起来。启动SVN服务器有两种方法,一个是命令行方式,一个是注册服务。

②命令行方式

[1]命令格式 主命令 参数1 参数2 参数3

-d表示后台执行 -r表示版本库根目录

D:ion

举例

-d -r D:ion

[2]验证服务是否启动

SVN服务监听3690端口,打开一个新的cmd窗口,使用 -an 命令查看3690端口是否被监听

[3]命令行方式的缺陷是:只要运行服务器端程序的命令行窗口一关闭,服务就停止了,很不方便,而且每次开机都需要手动启动。

③注册服务

[1]将SVN服务端程序注册为服务,就可以让SVN服务随系统一起启动,克服了命令行方式的不足。

[2]注册服务需要利用XP、2000以上系统自带工具 ,执行文件是sc.exe,注意这个命令不是SVN的命令。

[3]命令格式 主命令 子命令 参数1 参数2 参数3 参数4

sc 服务名 = “运行服务所需要的二进制文件路径以及运行该二进制文件的命令行参数” start= auto表示自动启动 = Tcpip 表示依赖Tcpip协议

[注意:在这个命令中,等号左边都没有空格,右边都有一个空格!]

[5]关于“版本库目录”

.exe路径 命令参数1 命令参数2 命令参数3 SVN安装目录.exe --表示以服务方式启动 -r表示版本库根目录 版本库目录

[5]关于“版本库目录”

单仓库 指定与具体项目对应的仓库目录 例如:D:只能为一个项目服务

多仓库 指定版本库的根目录 例如:D:ion 可以为多个项目服务

6]最终命令举例

sc = "D:.exe -- -r D:ion" start= auto = Tcpip在Win7及以上系统中,运行该命令需要管理员权限,

此时查看当前系统中的服务,可以看到我们刚刚创建的服务,但此时它还没有启动,如果创建失败,需检查sc命令是否正确(可以通过cmd命令,.msc查看,也可以通过任务管理器中的服务进行查看)

打开命令行窗口运行 –an查看3690端口是否被监听

如果启动失败,那很有可能是中的内容有错误,此时只能将已经创建的服务删除,重新创建。

删除服务之前,最好先停止服务。停止服务的命令格式如下:

格式 sc stop 服务名

举例 sc stop

删除服务的命令格式如下:

格式 sc 服务名

举例 sc

●删除、启动、停止服务同样需要管理员权限

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了