首页 理论教育实用教程:轻松上手TortoiseSVN

实用教程:轻松上手TortoiseSVN

【摘要】:前面介绍了TortoiseSVN的安装,接下来将讲解TortoiseSVN的使用。在讲解TortoiseSVN的实际应用前,首先简单介绍TortoiseSVN几个常用菜单。TrotoiseSVN→Create repository here:创建版本库,该命令的作用与svnadmin create命令相同。TrotoiseSVN→Import:将现有的项目文件导入SubVersion版本库中。TrotoiseSVN→Settings:该命令能够弹出TortoiseSVN详细设置窗口。TortoiseSVN常见状态图标含义如下。图1-30 TortoiseSVN常见状态图标confilcted:冲突,该文件夹(文件)已产生了冲突,需要做冲突处理。

前面介绍了TortoiseSVN的安装,接下来将讲解TortoiseSVN的使用。TortoiseSVN的使用非常直观、友好,读者只需要理解以下几个重要的TortoiseSVN概念,就可以像操作Windows资源管理器一样进行版本控制。

通信协议:TortoiseSVN是一个客户端,用于连接到SubVersion服务器,并操作服务器中的版本库,它是基于svn://通信协议,与常见的FTP客户端使用ftp://通信协议不一样,这也就意味着只要是基于svn://通信协议的服务,都能够使用TortoiseSVN进行操作。

➢本地版本库:一个用户在参与项目时,通常是没有修改项目文件权限的,一旦分配了合法的SVN用户名及密码,就意味着该用户是一个合法的项目参与者,此时该用户只有将SubVersion服务器上的项目文件下载到本地,才能进行同步编程。

➢文件上传:用户在本地改动了项目中的文件,必须要将文件上传到SubVersion服务器,才能被其他用户查看到,同时版本库会自动增1。

➢版本号:SubVersion的版本号并不是针对单一文件的,而是针对整个项目,这也就意味着就算项目中的某个文件只作简单的修改,一旦进行提交操作,整个项目的版本号就会自增1。

1.TortoiseSVN的菜单

下面将通过实践的方式,消化上述理论化的知识。在讲解TortoiseSVN的实际应用前,首先简单介绍TortoiseSVN几个常用菜单。

➢Svn Checkout:该命令用于项目参与者第一次下载SubVersion版本库文件。

➢TrotoiseSVN→Repo-browser:浏览SubVersion版本库项目内容。

➢TrotoiseSVN→Export:导出版本库中的项目文件。

➢TrotoiseSVN→Create repository here:创建版本库,该命令的作用与svnadmin create命令相同。

➢TrotoiseSVN→Import:将现有的项目文件导入SubVersion版本库中。

➢TrotoiseSVN→Settings:该命令能够弹出TortoiseSVN详细设置窗口。

2.使用步骤

下面通过一个示例讲解TortoiseSVN实际应用。这里继续使用前面创建的repos1版本库作为项目版本库,项目的本地路径为D:\php\ProjectDemo1。首先在项目中创建一个index.php文件,然后使用TortoiseSVN快捷键,依次选择“TrotoiseSVN”→“Import”命令,将ProjectDemo1目录导入repos1版本库中,如图1-26所示。

单击“OK”按钮,将会要求输入用户名和密码(这里的账号及密码即为前面创建的SVN登录用户名及密码,即test账号)。完成后,ProjectDemo1项目将会被导入repos1版本库中,如图1-27所示,如果导入失败,首先检查SVN宿主服务是否已经启动,然后检查用户名与密码是否正确。

此时可以通过“Repo-browser”命令查看repos1版本库中的文件。此时查看repos1版本库的实际存放路径,除了看到版本库体积增大外,其他的目录与文件结构一点也没发生改变。

978-7-111-42852-7-Part01-59.jpg

图1-26 Import对话框

978-7-111-42852-7-Part01-60.jpg

图1-27 导入成功对话框

初次接触SVN的读者经常认为将项目导入版本库之后,就可以进行编程了。事实上,前面所做的项目导入只是创建版本库源文件而已,读者需要首先明白,项目源文件不是一个人在开发的,而是多人一起开发的。当前登录的用户为test,要对项目进行开发,必须要将版本库中的源文件取出,所以应该使用“Svn Checkout”命令获取源文件,步骤如下。

首先在D:\php\下创建一个目录(不能使用中文名称),并命名为test,然后进入test目录,按下鼠标右键,在弹出TortoiseSVN快捷菜单中选择“Svn Checkout”命令,如图1-28所示。(www.chuimin.cn)

在“URL of repository”一栏中输入“repos1”版本库svn地址,单击“OK”按钮,此时TortoiseSVN将会开始下载版本库中的源文件,如图1-29所示。

978-7-111-42852-7-Part01-61.jpg

图1-28 下载版本库源文件

978-7-111-42852-7-Part01-62.jpg

图1-29 Svn Checkout对话框图

当版本库源文件下载完毕后,进入test目录,可以看到版本库中的目录与文件都被下载到本地了,此时才正式处于团队项目开发的状态。可以看到test目录下的文件都被TortoiseSVN自动加上了文件图标,因为此时还没对文件进行更改,项目的版本号(即项目没有文件被改动过)与版本库中的项目版本号是一致的,所以文件图标都显示为已经更新状态。TortoiseSVN常见状态图标如图1-30所示。

TortoiseSVN常见状态图标含义如下。

➢normal:常规状态,此状态下的文件夹(文件)版本号与版本库中保存一致。

➢ignored:忽略,该文件夹(文件)已经被忽略,提交时被排除。

978-7-111-42852-7-Part01-63.jpg

图1-30 TortoiseSVN常见状态图标

➢confilcted:冲突,该文件夹(文件)已产生了冲突,需要做冲突处理。

➢locked:锁定,该文件夹(文件)已经被上锁,操作前需要解锁

➢readonly:只读,该文件夹(文件)只能读取。

➢added:添加观察名单,该文件夹(文件)已经被添加到观察名单,能被SVN识别。

➢non-versioned:无版本控制,该文件夹(文件)还没有被SVN识别。

➢modified:已修改,该文件夹(文件)已经被修改,但还没与版本库进行同步。

deleted:已删除,该文件夹(文件)已经被其他用户删除。

读者可以修改项目下的index.php文件,观察文件状态图标变化,确定修改完毕后,选中index.php文件并弹出鼠标右键,在弹出的TortoiseSVN快捷菜单中选择“SVN Commit”命令,将此次修改保存到SVN版本库,如图1-31所示。

978-7-111-42852-7-Part01-64.jpg

图1-31 SVN Commit对话框

在“Recent messages”一栏中输入本次修改的自定义信息,然后按下“OK”按钮,这样项目参与者就能够及时地查看到被修改过的文件了;如果自己需要查看项目的最新状态,可以使用“SVN Update”命令,将本地文件更新到与SubVersion版本库相一致。