将心比心,方得人心~

SVN版本控制的配置和使用

周洲 2017-04-06 21:27:13

当项目规模稍大的时候,通常会由多人团队协作开发共同完成。在项目中,会涉及到大 量代码和文档,而且不同的电脑、不同的开发者维护同一份源代码经常会出现混乱的状态, 这时就有必要使用版本控制软件对源代码进行有效整合和管理。

版本控制的好处: 

1.为团队提供所有项目文档的回退功能; 

2.支持多人在可控的方式下基于相同的代码工作; 

3.保存文档在过去的各个状态; 

4.支持在文档的主线上同时有多个版本; 

5.支持查询在某个时间点上项目的各个文档的状态。

在网上下载服务器 Subversion 和 客户端 TortoiseSVN。安装很简单这里就不提了。

PS:一开始我下载安装了几次都不能正常使用,主要问题是出在客户端TortoiseSVN的操作上。什么问题呢?

TortoiseSVN中的Repo-browser,在URL中输入地址会报“期望文件系统格式在1到6之间 发现格式7”的错误。

我的解决办法是:服务器端Subversion的版本不能低于客户端TortoiseSVN版本。

配置与简单使用 

由于演示的方便,服务器 SVN 和客户端 SVN 工具都装在同一台电脑上,实际上是分离 的,否则没有意义。 

两款软件装好后,在桌面右击会发现 SVN Checkout 和 TortoiseSVN 这两个选项,那么表明 SVN 已经成功安装。 

服务器 SVN 操作如下: 

1.在任意目录下创建一个版本库的任意名称的文件夹,比如 svn。右击空白处,选择 TortoiseSVN 中的 Create repository here(创建版本库)。确定后,会在此文件夹生成 一些文件夹和文件; 

2.选择 conf 配置文件夹进行一些配置,打开 svnserve.conf 文件,我们只要修改一 项,就是启用密码验证:password-db = passwd; 

3.打开 passwd 文件,创建一个 root = 123456 的用户密码组合; 

4.在 DOS 界面启动服务器 SVN,svnserve.exe -d -r c:\wamp\www\svn

客户端 SVN 操作如下: 

1.创建一个 test 文件夹,内创建 index.php,echo 0; 

2.在空白处右击TortoiseSVN中的Repo-browser,在URL中输入svn://127.0.0.1, 如果是远程服务器,可输入远程服务器的 IP 地址,然后点击两个 OK 即可完成配置; 

3.再右击 SVN Checkout,将服务器的版本信息载入到客户端,由于没有数据,所以没 有数据载入,版本是 0,如果客户端有数据,则会打上问号; 

4.选择要提交到服务器的文件,右击 TortoiseSVN,选择 Add 添加,这时图标会变成 加号,表示将要提交; 

5.右击空白处,选择 SVN Commit,编辑此次版本的注释,然后提交; 

6.当我们修改了 index.php 内容,比如 echo 1,那么文件会打上感叹号,我们再此 SVN Commit 提交,即可生成第二版本;

当服务器有一定版本的代码库后,引进一名新员工进行软件的继续开发,那么,他首先要先下载以往的代码版本:

创建一个自己的代码文件夹,比如 test2,右击 SVNCheckout,默认是最新版本,也 可以通过 Showlog 选择历史版本更新或还原。

PS:SVN 工具会导致加密视频无法正常播放,播放时可设置 TortoiseSVN 中的 Settings, 选择 IconOverlays 中 None。再有需要,又不看视频时,再改回来即可。

SVN 自动启动 

如果不手工将 SVN 在 DOS 命令行启动的话,那么在你对数据版本进行提交或更新时, 将会被拒绝。所以,我们每次在重启版本服务器时,都需要手工的启动一下 SVN 服务器。 这样将会变的尤其的麻烦。 

我们可以通过将 SVN 添加到 Window 自启动,让 SVN 随着服务器一起启动,这样就减 少了每次手工的麻烦。 

将 SVN 添加到 Window 服务里,设置自启动 

sc create svnserve binpath= "C:\Program Files (x86)\Subversion\bin \svnserve.exe --service --root C:\wamp\www\svn"

将 SVN 服务删除掉 

sc delete svnserve

锁定和解锁 

    在工作中,如果有些文件不希望其他程序员修改,或者你正在修改一个不能合并的文件。 我们可以对这个文件进行加锁操作,加锁后,其他程序员就无法提交。当加锁文件被锁定者 解锁后,才可以继续提交。 

右击文件:TortoiseSVN->Get lock,即可锁定; 

右击文件:TortoiseSVN->Release lock,即可解锁;


打赏

『微信打赏』

Tag标签php 

我是有底线的