SVN
1.
什么是SVN(Subversion)
SVN即Subversion,是一个自由开源的版本控制系统,能够将数据恢复到早期版本,
或者检查数据修改的历史,这些数据能够是源代码,也能够是其余类型的文件。
在SVN出现以前,CVS是开源世界版本控制工具的事实标准,然而CVS存在一些固有的缺陷,而且修复这些缺陷须要耗费很大的精力,因而,SVN做为CVS的继任者出现了
SVN:能够简单理解为一个版本控制器,主要实现多人协做开发文件共享和版本
控制的一个过程。
2.
SVN特色:
1、根据文件修改的次数自动增长版本号以便找回历史文件
2、防止多人开发时同时修改一类文件致使文件覆盖或被删除
3、及时更新和获取其余开发者的最新数据和文件
4、有助于项目开发时的安全,责任细分化
3.
SVN 控制器的工做原理和流程
经过每一个用户提交来的数据生成版本。避免冲突和覆盖,并记录用户行为。
4.
如何安装配置服务器端SVN
TortoiseSVN 客户端软件
Subversion 服务端软件
1、建立服务器端库文件位置
2、配置库文件的内容在 conf目录下面 authz(权限配置)、passwd(用户配置)、svnserve.conf
3、启动 svnserve.exe -d -r f:\server_svn
5.
如何增长SVN到windows服务中并自动启动
增长服务
sc create svnserve binpath= "C:\Program Files\Subversion\bin\svnserve.exe --service --root D:\server_svn "
sc:
服务命令
create :
建立新服务 等号后面有空格
svnserve :
服务名
binpath:
执行命令及路径
C:\Program Files\Subversion\bin\svnserve.exe --service --root D:\server_svn 执行的SVN内容
删除服务
sc delete svnserve
svnserve:服务名
SVN运用
1.
SVN 建立服务器
1)
在d:/ server_svn/ à进入目录右击àTortoiseSVNàCreate repository here…àNative filesystem(FSFS)
2)
修改: svnserve.conf
[general]
//是否容许匿名用户访问,加#表示不容许。若是要去掉#号,注意anon-access = read前不能有空格
# anon-access = read
# auth-access = write
password-db = passwd //表示须要密码,注意password-db前不能有空格
# authz-db = authz //表示是否使用权限组
3)
修改conf\passwd文件,加入用户名=密码,如cjc=123 tom=123
4)
进入svn服务器的安装目录:cd C:\Program Files\Subversion\bin
5)
启动服务: svnserve.exe -d -r d:\server_svn (服务启动后会等待客户端的链接)
6)
模拟一个客户端,在f:/shopà进入目录右击à TortoiseSVNàRepo-browseràurl中写: svn://127.0.0.1
若是要指定某个文档仓库àfile:///f:/SVN_SHOP/ (SVN_SHOP为项目名)
7)
将服务器上的文件导入本身的项目shopàSVN Checkout
8)
创建一个测试文件test.phpà右击文件àTortoiseSVNàAdd…
9)
右击目录空白处àSVN Commit…à填写用户名和密码(cjc/123)
10)
修改本地文件:修改文件后,文件会变成红色感叹号àSVN Commit…à能够填写修改的缘由。
11)
若是有用户使用SVN checkout…将服务器上的文件所有放在本身的项目中,此时要是删除了某些文件并作了提交,此时别的用户若是作更新操做会从服务器上从新将文件下载会致使本身项目中那些被用户删除的文件也会同时被删除。
2.
SVN 控制器的文件的锁定和操做
用户选择一个文件àTortoiseSVNàGet lockà修改后保存
其它用户只有等待锁定文件的用户提交或解锁(Release lock),才能够获取对该文件的操做。
注:当服务器上该文件有新版本时,必须先update后才能lock (即服务器版本比)
3.
SVN 查看历史文件并对比差别内容
TortoiseSVNàGet lock—>Show logà用ctrl键选两个要对比的文件à右击àCompare reversions
4.
SVN 导出内容和文件方法和注意事项
选中要导出的文件夹àTortoiseSVNàExport
导出时只会导出在服务器中提交过的文件(即有绿勾的文件),而没有提交的文件是不会导出的。