SVN全称:Subversion,是一个开放源代码的版本控制系统bash
Svn是一种集中式文件版本管理系统。集中式代码管理的核心是服务器,全部开发者在开始新一天的工做以前必须从服务器获取代码,而后开发,最后解决冲突,提交。服务器
集中式文件版本控制器:将全部的文件都交由服务器来进行统一的管理。既然是有服务器的,那么就须要联网进行操做了。微信
咱们写一个项目通常都是一个团队来写,若是咱们没有用SVN的话,那么咱们只能在团队中互相拷贝对方的代码来完成咱们的项目。svn
SVN还有以下的好处:学习
在SVN中有配置库这么一个概念,那它是什么东东呢??spa
它储存全部的数据,配置库按照文件树形式储存数据开放源代码
任意数量的客户端能够链接到配置库,读写这些文件.而且能够添加读写日志,有权限的用户很方便的看到这些修改命令行
咱们从上面已经知道了,咱们能够从配置库中获得想要的文件。那么咱们要把文件从配置库下载下来。这个下载下来的区域就是工做副本。3d
这个工做副本其实就是咱们工做的区域,咱们对那些文件修改完,就可以再次提交到配置库中了。版本控制
咱们简单来学习几条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服务器的时候,不会报错就是正常开启了。
在咱们配置库中找到conf文件夹下的svnserve.conf配置文件。将下面的三行的注释去掉
找到conf文件下的passwd,配置用户
建立配置库,咱们可使用命令行方式,也可使用UI点击的方式。这里我就直接使用UI的方式了。
随后,开启咱们的SVN服务
把一个文件夹放置到配置库中,交由SVN管理
在SVN中查看咱们添加的内容:
查看具体的日志
标识得很是清晰:
把SVN的数据导出到用户中。
导出后:这个local文件夹其实就是咱们的工做副本!
我在工做副本中添加了一个文件
添加到SVN中:
随后,变成了一个蓝色的图标+号,咱们提交。
咱们可能会出现这样的一个问题:咱们的SVN是一个团队正在开发。可是在commit以前,有人就把我正在编辑的文件给修改了。因而当我在提交的时候就出现了冲突【当前的数据不一致,冲突了】
localhost2用户导出了SVN的数据,而且修改了文件:
另外一个用户localhost也在修改该文件,可是它没有作updata操做。并不知道该文件已经被修改了。
当他修改完,想要更新到SVN中的时候,发现冲突了。
面对冲突,咱们有两种方案:
咱们进去冲突修改的页面,决定要的是哪一行的数据
最后修改完,点击保存操做就好了。
关于冲突的建议
若是文章有错的地方欢迎指正,你们互相交流。习惯在微信看技术文章,想要获取更多的Java资源的同窗,能够关注微信公众号:Java3y