SVN

什么是SVN

SVN全称:Subversion,是一个开放源代码的版本控制系统

Svn是一种集中式文件版本管理系统。集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。

集中式文件版本控制器:将所有的文件都交由服务器来进行统一的管理。既然是有服务器的,那么就需要联网进行操作了。

为什么要使用SVN
我们写一个项目一般都是一个团队来写,如果我们没有用SVN的话,那么我们只能在团队中互相拷贝对方的代码来完成我们的项目。

SVN还有如下的好处:

轻松比较不同版本间的细微差别【修改了代码,就有版本号,还能知道修改前后的数据】
及时了解团队中其他成员的进度【如果没有把代码提交到服务器中,就是做得比较慢了】
广域网共享【连上局域网就可以代码共享了】
协同工作,大大提高团队工作效率
快速了解SVN
配置库
在SVN中有配置库这么一个概念,那它是什么东东呢??

它储存所有的数据,配置库按照文件树形式储存数据

包括目录和文件
任意数量的客户端可以连接到配置库,读写这些文件.并且可以添加读写日志,有权限的用户很方便的看到这些修改

工作副本
我们从上面已经知道了,我们可以从配置库中得到想要的文件。那么我们要把文件从配置库下载下来。这个下载下来的区域就是工作副本。

这个工作副本其实就是我们工作的区域,我们对那些文件修改完,就能够再次提交到配置库中了。

SVN命令
我们简单来学习几条SVN的命令,SVN有图形界面的功能,因此命令学习也不是必须的。了解一下…

—创建服务器端版本库
svnadmin create 版本库路径

---启动SVN服务器端
svnserve -d -r 版本库路径 

---在系统服务中注册svn服务器
sc create svn binPath= "C:\Program Files\TortoiseSVN\bin\svnserve.exe --service -r D:\itcast\svnserver\20150118svn" DisplayName= "svn服务"

---删除系统服务中的 服务
sc delete 服务ID

如果启动SVN服务器的时候,不会报错就是正常开启了。

常见的子命令
import:将未纳入版本控制器的文件或目录提交到版本库中(仅执行一次)
checkout: 从版本库标签中出工作副本
revert: 将工作副本文件恢复到指定版本
update: 将版本库的修改合并到工作副本中
commit:把工作副本的修改提交到版本库。

SVN服务器配置(了解)

新建仓库

仓库目录含义
trunk:主干,是日常开发进行的地方,是不稳定的代码。
branches:分页控件,上传组件:分支,一些阶段性的release版本,这些版本是可以继续进行开发和维护的.
tags:项目版本,目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。
新建用户
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.2.4.配置用户权限

在这里插入图片描述
在这里插入图片描述
3.2.5.组的使用

在这里插入图片描述

使用SVN

添加数据到SVN
创建配置库,我们可以使用命令行方式,也可以使用UI点击的方式。这里我就直接使用UI的方式了。

在这里插入图片描述

随后,开启我们的SVN服务

在这里插入图片描述

把一个文件夹放置到配置库中,交由SVN管理

在这里插入图片描述

在这里插入图片描述

在SVN中查看我们添加的内容:

在这里插入图片描述

查看具体的日志

在这里插入图片描述

标识得非常清晰:

在这里插入图片描述

从SVN导出数据
把SVN的数据导出到用户中。

在这里插入图片描述

导出后:这个local文件夹其实就是我们的工作副本!

在这里插入图片描述

修改SVN导出后的数据、再添加回SVN
我在工作副本中添加了一个文件

在这里插入图片描述

添加到SVN中:
在这里插入图片描述

随后,变成了一个蓝色的图标+号,我们提交。

在这里插入图片描述

在这里插入图片描述

解决冲突
我们可能会出现这样的一个问题:我们的SVN是一个团队正在开发。但是在commit之前,有人就把我正在编辑的文件给修改了。于是当我在提交的时候就出现了冲突【当前的数据不一致,冲突了】

localhost2用户导出了SVN的数据,并且修改了文件:

在这里插入图片描述

另一个用户localhost也在修改该文件,但是它没有做updata操作。并不知道该文件已经被修改了。

在这里插入图片描述

当他修改完,想要更新到SVN中的时候,发现冲突了。

在这里插入图片描述

面对冲突,我们有两种方案:

放弃本次的修改
查看冲突的内容是什么,当查看完再决定要哪个的数据,或者是合并起来。

在这里插入图片描述

我们进去冲突修改的页面,决定要的是哪一行的数据

在这里插入图片描述

在这里插入图片描述

最后修改完,点击保存操作就行了。

在这里插入图片描述

关于冲突的建议

修改文件之前,先进行一次update操作
修改完成后,及时commit,不要在本地停留过长时间
在多位团队成员协作时,尽量修改自己撰写的部分,尽量不要修改不属于自己撰写的部分
出现冲突很正常,可以通过前面的方法解决,不要相互覆盖
工作流程图

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值