SVN

SVN基础

SVN概述

SVNSubversion)是对源代码进行管理的工具,是代码版本管理软件

 

SVN的作用:

1.      协助多人开发同一个项目的同一个文件的时候,防止出现文件覆盖问题

2.      针对一个文件可以创建多个不同版本,可以随时查看不同版本的内容

3.      管理者可以通过SVN进行员工工作情况的检查

 

目前主流的源码控制管理软件:gitsvn

 

SVN服务器软件下载地址

https://sliksvn.com/download/

 

SVN客户端下载地址(安装后需要重启)

https://tortoisesvn.net/downloads.html

SVN的使用

创建SVN仓库(用于存储代码)

cmd创建仓库:

E:\SVN\sever\bin\svnadmin.exe createE:\SVN\app\car

 

启动仓库服务

1.      cmd启动仓库服务:需要挂起,不能关闭

         E:\SVN\sever\bin\svnserve.exe –d –r E:\SVN\app

2.      设置开机自启动:有两个位置存在固定空格

sc create svnd binPath="E:\SVN\sever\bin\svnserve.exe -r E:\SVN\app  --service" start= auto

使用SVN服务

与仓库取得联系(第一次)

右键个人工作目录下项目文件夹:checkout

 

填写svn主机名地址例如:svn://localhost/shop

连接完成的时候会在项目文件夹中生成一个隐藏文件夹.svn

 

 

 

仓库账号权限管理(至少开启匿名权限,不然无法提交文件)

在仓库的配置文件中进行设置:仓库→config→svnserver.conf

一、           仓库匿名账号权限

开启:anon-access=write(代码在第19行)

关闭:anon-access=none(不能使用注释方式,会影响日志的查看)

 

二、           账号密码权限管理

在配置文件中开启:password-db = passwd27行)、authz-db = authz36行)

1.      在仓库→config→passwd中创建账号(账号=密码)

2.      在仓库→config→authz中设置用户权限

#给shop仓库设置操作权限

[shop:/]

#给用户设置具体的操作权限:r读、w

tom=rw

jack=rw

#除了tom和jack之外,其他用户没有权限

*=

设置组别权限:

[groups]

php=php1,php2,…

[shop:/]

@php=rw

设置限制目录权限:

给某些人员分配权限的时候只开放部分目录的权限

#给shop仓库设置外包限制操作权限

[shop:/Video]

#给用户设置具体的操作权限:r读、w写

waibao1=rw

#除了waibao1之外,其他用户没有权限操作Video文件夹

*=

向SVN仓库提交文件

右键文件→TortoiseSVN→add→重新右键文件SVN Commit(设置日志信息方便后期维护)

 

提交文件的前提是该文件的上级文件已经被提交到SVN仓库

一键Commit操作:

         在进行大量文件提交操作的时候,可以直接通过右键空白处→SVN Commit,然后选取

 

 

从SVN仓库中把最新的文件更新到本地

在工作目录文件夹中右键→SVN Update(与Commit一样都是常用操作)

 

 

同一个文件切换不同版本

SVN可以标记文件不同版本的状态信息,可以随时切换版本查看

右键对应文件→Tortoise SVN→Show log可以查看文件有多少版本

(管理人员可以用来查看工作情况)

 

右键对应文件→Tortoise SVN→Update to revision,可以切换到对应版本查看文件

 

查看完成后需要切换回最新版本后再进行操作

 

 

 

文件冲突Conflicted

冲突指多人在同时对同文件进行编辑提交的时候,后提交的会覆盖先提交的现象

 

文件冲突的解决方法

1.      令牌方式:同一个文件在同一个时间点只有一个人在进行开发

2.      版本解决:只有本地文件版本与服务器版本号一致的时候才允许提交

 

两种冲突形式:

①.   修改的代码不在同一处:

提示文件已经过时,提示执行update指令,执行之后会

在最新版本的内容基础上进行本地文件要进行的操作

②.   修改的代码在同一处(最本质冲突)

提示文件已经过时,提示执行update指令,执行之后会

在文件夹中生成三个文件方便对比不同版本的变化(直接删除)

手动进行整合(在上个版本的基础上操作)之后再次提交即可。

 

 

 

更换SVN主机名地址(当IP发生变化时)

1.      删除.svn断开和仓库间的联系,然后重新checkout后指定新的主机名地址

2.      通过客户端软件实现

右键工作目录空白处→Tortoise SVN→relocate→设置新的主机名

 

 

SVN缓存清理

主要用来清除登录的用户名和密码的记录

右键工作目录空白处→Tortoise SVN→relocate→Settings→Aaved Data

 

         其中的Authentication data指账号缓存

 

SVN零BUG开发

查看文件当前内容和之前版本的内容差异

右键文件→Tortoise SVN→Diff with previous version

 

通过Show log可以看到是那个用户操作了文件

 

文件标志信息

1.      蓝色加号

本地.svn对文件形成管理,但是仓库中没有记录

2.      绿色对号

.svn文件形成管理,本地文件和仓库中的记录一致

3.      红色叹号

本地文件修改

4.      黄色叹号

文件冲突状态(多人对同一个文件的同一行进行操作)

 

 

SVN中的hooks技术(钩子)

服务器中的项目文件与仓库产生联系

设置钩子:

         在仓库→hooks→制作bat脚本

SETSVN="E:/SVN/sever/bin/svn.exe"

SET DIR="E:/mvc/ceshi"

(call %SVN% update %DIR% --username tom--password tom123)

当仓库中的文件变更的时候会自动反应到服务器里的项目文件中

SVN在BAE应用

BAE网址:https://cloud.baidu.com

登录后按照操作步骤直至开通成功,获取到SVN主机地址

需要使用到百度账号和密码

将本地虚拟主机项目操作文件夹与SVN连接后就可以进行操作














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值