【SVN】版本控制软件

SVN版本控制软件
SVN是什么
SVN的全程是subversion,SVN版本控制软件可以解决协助开发、远程开发和版本回退三个问题。

特点:操作简单、入门简单、跨平台操作 。

SVN是输入C/S服务类软件,有客户端和服务端。

SVN版本控制软件
SVN是什么
SVN的全程是subversion,SVN版本控制软件可以解决协助开发、远程开发和版本回退三个问题。

特点:操作简单、入门简单、跨平台操作 。

SVN是输入C/S服务类软件,有客户端和服务端。

SVN的服务端
checkout(检出)

update(更新)

Commit(提交、上传)

【SVN】版本控制软件_第1张图片
SVN的服务器的安装和配置工作
安装按照教程一步步的安装即可 SVN安装教程 注意:安装的时候,不要出现中文、特殊符号即可。

配置工作:

先在svn目录下建立一个WebApp文件夹
在WebApp文件下简历Shop。目前还只是文件夹,还需要和svn产生联系
在DOS命令行下输入 svnadmin create Shop 文件夹,如果配置成功,那么shop应该多了6个文件
服务器监管:

Apache— http://localhost:8080 访问htdocs目录

SVN— svn://localhost: 访问相关的数据仓库(如shop)

svnserve -d -r D:/svn/WebApp/Shop

SVN的权限的配置文件都在conf中

打开svnserver.conf ,找到 #anon-access = read (19行)anon-access = write
SVN客户端的配置
傻瓜式安装,记得重启一下即可
还可以安装汉化包
配置完之后第一次牵手:
checkout(检出)
打开隐藏功能如果能看到.svn这个文件夹就说明客户端和服务端连接起来了,检出成功;
SVN 使用的详解
三大指令

checkout 检出操作: 1.连接到服务器 2.第一次链接的时候更新数据到本地,后面使用update(更新指令)

commit 提交代码:

【SVN】版本控制软件_第2张图片

update 更新操作

右键更新操作即可自动更新最新的版本到本地。

图标集的含义
图标集的一些含义

【SVN】版本控制软件_第3张图片
常规就是服务器和客户端数据一致;
无版本控制,编写好的文件没有上传队列;
锁定图标,服务器端已锁定。


忽略功能
忽略功能就是自己不想分享到服务器,仅仅是给自己看的内容:

忽略某个文件夹

【SVN】版本控制软件_第4张图片

忽略某个类型的文件

【SVN】版本控制软件_第5张图片

版本回退
每次修改的时候之后,提交的时候需要写好备注:

【SVN】版本控制软件_第6张图片
但是我又想恢复到某个版本:

【SVN】版本控制软件_第7张图片
可以根据日志的信息选择要回退的状态:

【SVN】版本控制软件_第8张图片

//再也不担心错误删除了吧,前提是需要commit你的代码

版本冲突
当两个人同时修改一份文档的时候就可能发生冲突

【SVN】版本控制软件_第9张图片
避免版本冲突:

错开开发时间

错开开发模块

通过svn解决版本冲突问题:

一、更新服务器数据到本地

【SVN】版本控制软件_第10张图片

二、删除三个带问好的文件

三、修改index.php冲突的文件

四、重新提交

【SVN】版本控制软件_第11张图片

配置多仓库与权限
监管总目录
权限限制
authz:授权文件,告诉用户有哪些权限

passwd:认证文件,表示用户名和密码

默认情况、两个文件都是禁用的,必须要开启上面两个文件,具体步骤如下:

注释匿名用户可读写的权限:

【SVN】版本控制软件_第12张图片
开启认证和授权文件

【SVN】版本控制软件_第13张图片
编写认证文件,定义用户和密码:打开passwd

【SVN】版本控制软件_第14张图片

编写授权文件:

【SVN】版本控制软件_第15张图片

分组+授权

测试是否成功

SVN的配置和管理
配置服务器的自启动服务
sc create SVNService binpath = “D:\subversion\bin\svnserve.exe – service - D:/svnroot” start = auto
在cmd中输入相关命令: sc create 服务名称 binpath=空格"svnserve.exe --service"

在控制面板-管理工具-服务找到SVNserver
运行成功,svn监管服务开发成功
使用批处理文件来停止和开启管理器
启动服务 net start 服务名称

停止服务 net stop 服务名称

删除服务 sc delete 服务名称

封装成为.bat封装就可以减少很多工作量

模拟真实场景(重难点)
1、 使用钩子程序对项目进行更新

post-commit.tmpl: 事物完成之后触发的钩子程序

默认情况用批处理或者Shell指令完成

SVN扩展程序
1、BAE云引擎

百度应用引擎(BAE),网络应用开发平台。

百度应用开发平台

未完待续 详见:相关视频课程

你可能感兴趣的:(版本控制,svn)