260 likes | 502 Views
第 14 章 版本管理. 版本管理也就是对软件产品的管理,主要内容就是使用版本管理软件,对软件产品开发过程中,一个或多个文件的修订过程进行跟踪,当这些文件组成的产品可以稳定运行时,就称为一个版本。版本管理不仅可以提高软件产品的稳定性,也可以优化开发人员的工作量。本章主要介绍版本管砣砑 SVN 的安装与使用,以及如何在 Eclipse 中使用 SVN 。. 14.1 SVN 下载与安装.
E N D
第14章 版本管理 • 版本管理也就是对软件产品的管理,主要内容就是使用版本管理软件,对软件产品开发过程中,一个或多个文件的修订过程进行跟踪,当这些文件组成的产品可以稳定运行时,就称为一个版本。版本管理不仅可以提高软件产品的稳定性,也可以优化开发人员的工作量。本章主要介绍版本管砣砑SVN的安装与使用,以及如何在Eclipse中使用SVN。
14.1 SVN下载与安装 • 版本管理软件有很多,例如VSS、PVCS、CVS等,本章将主要介绍一种更加强大的版本管理软件SubVersion,即SVN。SVN主要是用来替换开源社区中,最流行的版本管理软件CVS。
14.1.1 SVN下载与安装 • SVN替换CVS的原因,不仅仅是解决了CVS系统的一些不足,同时实现了更好的版本解决方案。下面列出SVN的一些特性,供读者参考。 • 可通过APACHE服务器,提供WebDAV/DeltaV协议的支持。 • 可脱离APACHE 服务器,独立运行。 • 软量级的分支与标签操作。 • 加强了对于二进制文件的支持。
14.1.2 SVN配置与运行 • SVN支持通过命令行状态,进行软件版本管理,本小节将按步骤介绍,如何在命令行状态下使用SVN。
14.2 SVN命令行客户端 • 在安装及配置完SVN后,就可以通过客户端来管理项目了。SVN在安装时,已经提供了客户端命令svn,svn是一个基于命令行的工具,通过svn可以完成大部分的项目管理操作,本节将介绍如何使用svn完成管理版本的各种操作。
14.2.1 导入项目 • 要把一个项目导入到SVN资源库中,可以使用以下命令实现: • svn import 项目路径 SVN资源库路径及名称 -m "项目说明,必选" --username 项目资源库管理者用户名 --password项目资源库管理者密码 • svn import:用于把当前项目,导入到SVN资源库中。 • 项目路径:要导入到资源库中的项目,可以使用绝对路径,也可以使用相对路径。 • SVN资源库路径及名称:其格式为svn://localhost/learn,其中learn是使用svnadmin创建的资源库。 • -m "项目说明,必选":用于导入项目时,项目的说明文字,此项必不可少。 • --username 项目资源库管理者用户名:用于指定访问资源库的用户的用户名,此用户名在配置资源库是,在passwd文件中添加的。 • --password项目资源库管理者密码:用于指定访问资源库的用户的密码,此密码在配置资源库时,在passwd文件中设置的。
14.2.2 导出项目 • 要把一个项目从SVN资源库中导出,可以使用以下命令实现: • svn checkout SVN资源库路径及名称 --username 项目资源库管理者用户名 --password项目资源库管理者密码 • svn checkout:用于把SVN资源库中的项目,导出到当前文件夹。 • SVN资源库路径及名称:其格式为svn://localhost/learn。 • --username 项目资源库管理者用户名:用于指定访问资源库的用户的用户名。 • --password项目资源库管理者密码:用于指定访问资源库的用户的密码。
14.2.3 更新本地项目 • SVN的更新本地项目功能,主要用于团队工作时使用。当团队其他成员对项目做出更新并提交后,可以使用svn update命令,来取得这些更新的文件到当前编辑的项目。svn update命令没有其他参数,只接在命令运行窗口中输入svn update并回车,就可以把当前编辑的项目更新为最新修改的版本。
14.2.4 查看项目状态 • SVN的查看项目状态的命令是svn status,其主要用于列出当前编辑的项目中,所以相关的修改,而不用访问资源库。运行svn status命令时,当前目录必须是一个有效的副本。可以通过查看图,来了解svn status运行的情况。
14.2.5 项目对比 • 使用svn diff命令,可以根据当前编辑版本中的元数据,与已经修改的版本进行比较,并列出已经修改的项目,以及修改的具体内容。在有效的编辑版本目录下,输入svn diff,运行结果如图所示。
14.2.6 恢复项目 • 使用svn revert命令,可以从资源库中恢复指定的文件到当前编辑版本中。下面演示其使用方法。在有效的编辑版本目录下,输入svn recert readme.txt,运行结果如图所示。
14.2.7 项目提交 • 在对当前修改版本进行修改、编辑、删除、添加等操作后,最后的工作就是把这些文件的新状态提交到资源库中,以便于下次修改项目时,调用编辑好的内容。 • SVN用于进行项目提交的是svn commit命令,其使用方法如下示: • svn commit 要提交的文件或目录 -m "注释" --username 用户名 -password 密码 • svn commit:用于提交指定的文件或目录到资源库中。 • 要提交的文件或目录:用于指定要提交到资源库中的文件或目录。 • -m "注释":用于注释提交的文件或目录。 • 在有效的编程版本目录下,运行以下命令: • svn commit .
14.3 SVN可视化管理界面 • SVN对于版本管理来说,提供的功能足够强大,但是其命令行式的客户端管理方式,并不是很友好,解决这个问题,可以使用第三方的,基于可视化管理界面的SVN客户端工具来解决。本节将使用SVN客户端管理工具TortoiseSVN,实现版本管理过程中各种操作。
14.3.1 TortoiseSVN下载与安装 • TortoiseSVN是Subversion版本管理系统的可视化客户端管理软件。通过可视的管理界面,实现SVN各种版本管理的操作。TortoiseSVN是一款开源软件,可以从其官方网站上免费进行下载,其官方网址的网址是:http://tortoisesvn.net/。 • TortoiseSVN分为32位与64位两种版本,本节使用的TortoiseSVN是32位的windows安装版本,其下载地址是:http://nchc.dl.sourceforge.net/sourceforge/tortoisesvn/TortoiseSVN-1.4.5.10425-win32-svn-1.4.5.msi。
14.3.2 创建项目仓库 • TortoiseSVN安装完成后,主要功能都集成在右键菜单中。下面演示使用TortmiseSVN创建项目仓库的方面。
14.3.3 导出项目 • 本小节将分步骤介绍,如何使用TortoiseSVN,导出资源库中已经存在的项目。
14.3.4 更新本地项目 • 使用TortoiseSVN导入的文件夹,在资源管理器中显示时,其文件夹的图标如图14-33中的文件夹图标所示。 • 在导出项目的文件夹上单击右键,在弹出的菜单中选择“SVN Update”菜单项,以实现与svn update命令相同的功能。
14.3.5 项目提交 • 在修改完当前项目后,可以使用TortoiseSVN把修改的内容,提交到资源库中。在需要提交的文件夹或文件上单击右键,在弹出的菜单中选择“SVN Commit”菜单项,以实现与svn commit命令相同的功能。执行完SVN Commit命令后,TortoiseSVN将显示项目提交窗口,如图所示。
14.4 SVN与开发工具 • 不管使用命令行客户端,还是使用TortoiseSVN,都是单独的运行,要编辑导出的代码,还是需要使用外部编辑器。在Eclipse中使用Subclipse插件,可以实现对SVN服务的操作支持。本节主要介绍使用Subclipse插件,来实现版本管理。
14.4.1 开发工具的配置 • 要使得Eclipse支持SVN,就需要安装Subclipse插件。为Eclipse安装插件,可以下载单独的插件安装,或使用在线安装两种方式,此处选择在线安装的方式。
14.4.2 导入项目 • 本小节主要介绍使用Eclipse把项目导入到资源库中的方法,下面介绍具体实现步骤:
14.4.3 取出项目 • 在Eclipse中取出资源库中的项目,可以通过新建SVN项目来实现,下面分步骤来介绍其实现过程。
14.5 常见问题 • 本章主要介绍了版本控制,以及与SVN相关的知识。本节将列出在版本控制,以及SVN使用过程中容易出现的问题,以及解决方法,供读者参考。
14.5.1 SVN运行问题 • 本章第14.1.2小节,介绍了在命令行运行状态下运行SVN的方法。但是使用此方法运行SVN后,命令行运行窗口会一直保持运行,最好的解决方案,就是把SVN作为服务运行。 • 使用以下命令,就可以把SVN注册为系统服务,并随系统怎么启动。 • sc create svnserve binpath= "\"C:\Program Files\svn-win32-1.4.5\bin\svnserve.exe\" --service --root \"d:\project\"" displayname= "Subversion" start= auto
14.5.2 SVN与CVS • 有可能用户习惯于使用CVS,大部分的项目都是通过CVS进行管理的。要想把CVS管理的项目都转换为使用SVN管理,可以使用转换工具实现CVS向SVN的迁移,这个转换工具可以从其官方网址处下载,下载地址为:http://cvs2svn.tigris.org/servlets/ProjectDocumentList。
14.5.3 SVN命令行乱码 • 在安装完SVN后,有时运行SVN命令,会出现乱码的情况,这是由于系统中没有指定SVN使用的字符集,通过设置两个系统变量,就可以解决这个问题,具体的设置方面可以参照本章的第14.1.1小节的第7、8两个步骤。