1 / 26

第 14 章 版本管理

第 14 章 版本管理. 版本管理也就是对软件产品的管理,主要内容就是使用版本管理软件,对软件产品开发过程中,一个或多个文件的修订过程进行跟踪,当这些文件组成的产品可以稳定运行时,就称为一个版本。版本管理不仅可以提高软件产品的稳定性,也可以优化开发人员的工作量。本章主要介绍版本管砣砑 SVN 的安装与使用,以及如何在 Eclipse 中使用 SVN 。. 14.1 SVN 下载与安装.

mostyn
Download Presentation

第 14 章 版本管理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第14章 版本管理 • 版本管理也就是对软件产品的管理,主要内容就是使用版本管理软件,对软件产品开发过程中,一个或多个文件的修订过程进行跟踪,当这些文件组成的产品可以稳定运行时,就称为一个版本。版本管理不仅可以提高软件产品的稳定性,也可以优化开发人员的工作量。本章主要介绍版本管砣砑SVN的安装与使用,以及如何在Eclipse中使用SVN。

  2. 14.1 SVN下载与安装 • 版本管理软件有很多,例如VSS、PVCS、CVS等,本章将主要介绍一种更加强大的版本管理软件SubVersion,即SVN。SVN主要是用来替换开源社区中,最流行的版本管理软件CVS。

  3. 14.1.1 SVN下载与安装 • SVN替换CVS的原因,不仅仅是解决了CVS系统的一些不足,同时实现了更好的版本解决方案。下面列出SVN的一些特性,供读者参考。 • 可通过APACHE服务器,提供WebDAV/DeltaV协议的支持。 • 可脱离APACHE 服务器,独立运行。 • 软量级的分支与标签操作。 • 加强了对于二进制文件的支持。

  4. 14.1.2 SVN配置与运行 • SVN支持通过命令行状态,进行软件版本管理,本小节将按步骤介绍,如何在命令行状态下使用SVN。

  5. 14.2 SVN命令行客户端 • 在安装及配置完SVN后,就可以通过客户端来管理项目了。SVN在安装时,已经提供了客户端命令svn,svn是一个基于命令行的工具,通过svn可以完成大部分的项目管理操作,本节将介绍如何使用svn完成管理版本的各种操作。

  6. 14.2.1 导入项目 • 要把一个项目导入到SVN资源库中,可以使用以下命令实现: • svn import 项目路径 SVN资源库路径及名称 -m "项目说明,必选" --username 项目资源库管理者用户名 --password项目资源库管理者密码 • svn import:用于把当前项目,导入到SVN资源库中。 • 项目路径:要导入到资源库中的项目,可以使用绝对路径,也可以使用相对路径。 • SVN资源库路径及名称:其格式为svn://localhost/learn,其中learn是使用svnadmin创建的资源库。 • -m "项目说明,必选":用于导入项目时,项目的说明文字,此项必不可少。 • --username 项目资源库管理者用户名:用于指定访问资源库的用户的用户名,此用户名在配置资源库是,在passwd文件中添加的。 • --password项目资源库管理者密码:用于指定访问资源库的用户的密码,此密码在配置资源库时,在passwd文件中设置的。

  7. 14.2.2 导出项目 • 要把一个项目从SVN资源库中导出,可以使用以下命令实现: • svn checkout SVN资源库路径及名称 --username 项目资源库管理者用户名 --password项目资源库管理者密码 • svn checkout:用于把SVN资源库中的项目,导出到当前文件夹。 • SVN资源库路径及名称:其格式为svn://localhost/learn。 • --username 项目资源库管理者用户名:用于指定访问资源库的用户的用户名。 • --password项目资源库管理者密码:用于指定访问资源库的用户的密码。

  8. 14.2.3 更新本地项目 • SVN的更新本地项目功能,主要用于团队工作时使用。当团队其他成员对项目做出更新并提交后,可以使用svn update命令,来取得这些更新的文件到当前编辑的项目。svn update命令没有其他参数,只接在命令运行窗口中输入svn update并回车,就可以把当前编辑的项目更新为最新修改的版本。

  9. 14.2.4 查看项目状态 • SVN的查看项目状态的命令是svn status,其主要用于列出当前编辑的项目中,所以相关的修改,而不用访问资源库。运行svn status命令时,当前目录必须是一个有效的副本。可以通过查看图,来了解svn status运行的情况。

  10. 14.2.5 项目对比 • 使用svn diff命令,可以根据当前编辑版本中的元数据,与已经修改的版本进行比较,并列出已经修改的项目,以及修改的具体内容。在有效的编辑版本目录下,输入svn diff,运行结果如图所示。

  11. 14.2.6 恢复项目 • 使用svn revert命令,可以从资源库中恢复指定的文件到当前编辑版本中。下面演示其使用方法。在有效的编辑版本目录下,输入svn recert readme.txt,运行结果如图所示。

  12. 14.2.7 项目提交 • 在对当前修改版本进行修改、编辑、删除、添加等操作后,最后的工作就是把这些文件的新状态提交到资源库中,以便于下次修改项目时,调用编辑好的内容。 • SVN用于进行项目提交的是svn commit命令,其使用方法如下示: • svn commit 要提交的文件或目录 -m "注释" --username 用户名 -password 密码 • svn commit:用于提交指定的文件或目录到资源库中。 • 要提交的文件或目录:用于指定要提交到资源库中的文件或目录。 • -m "注释":用于注释提交的文件或目录。 • 在有效的编程版本目录下,运行以下命令: • svn commit .

  13. 14.3 SVN可视化管理界面 • SVN对于版本管理来说,提供的功能足够强大,但是其命令行式的客户端管理方式,并不是很友好,解决这个问题,可以使用第三方的,基于可视化管理界面的SVN客户端工具来解决。本节将使用SVN客户端管理工具TortoiseSVN,实现版本管理过程中各种操作。

  14. 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。

  15. 14.3.2 创建项目仓库 • TortoiseSVN安装完成后,主要功能都集成在右键菜单中。下面演示使用TortmiseSVN创建项目仓库的方面。

  16. 14.3.3 导出项目 • 本小节将分步骤介绍,如何使用TortoiseSVN,导出资源库中已经存在的项目。

  17. 14.3.4 更新本地项目 • 使用TortoiseSVN导入的文件夹,在资源管理器中显示时,其文件夹的图标如图14-33中的文件夹图标所示。 • 在导出项目的文件夹上单击右键,在弹出的菜单中选择“SVN Update”菜单项,以实现与svn update命令相同的功能。

  18. 14.3.5 项目提交 • 在修改完当前项目后,可以使用TortoiseSVN把修改的内容,提交到资源库中。在需要提交的文件夹或文件上单击右键,在弹出的菜单中选择“SVN Commit”菜单项,以实现与svn commit命令相同的功能。执行完SVN Commit命令后,TortoiseSVN将显示项目提交窗口,如图所示。

  19. 14.4 SVN与开发工具 • 不管使用命令行客户端,还是使用TortoiseSVN,都是单独的运行,要编辑导出的代码,还是需要使用外部编辑器。在Eclipse中使用Subclipse插件,可以实现对SVN服务的操作支持。本节主要介绍使用Subclipse插件,来实现版本管理。

  20. 14.4.1 开发工具的配置 • 要使得Eclipse支持SVN,就需要安装Subclipse插件。为Eclipse安装插件,可以下载单独的插件安装,或使用在线安装两种方式,此处选择在线安装的方式。

  21. 14.4.2 导入项目 • 本小节主要介绍使用Eclipse把项目导入到资源库中的方法,下面介绍具体实现步骤:

  22. 14.4.3 取出项目 • 在Eclipse中取出资源库中的项目,可以通过新建SVN项目来实现,下面分步骤来介绍其实现过程。

  23. 14.5 常见问题 • 本章主要介绍了版本控制,以及与SVN相关的知识。本节将列出在版本控制,以及SVN使用过程中容易出现的问题,以及解决方法,供读者参考。

  24. 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

  25. 14.5.2 SVN与CVS • 有可能用户习惯于使用CVS,大部分的项目都是通过CVS进行管理的。要想把CVS管理的项目都转换为使用SVN管理,可以使用转换工具实现CVS向SVN的迁移,这个转换工具可以从其官方网址处下载,下载地址为:http://cvs2svn.tigris.org/servlets/ProjectDocumentList。

  26. 14.5.3 SVN命令行乱码 • 在安装完SVN后,有时运行SVN命令,会出现乱码的情况,这是由于系统中没有指定SVN使用的字符集,通过设置两个系统变量,就可以解决这个问题,具体的设置方面可以参照本章的第14.1.1小节的第7、8两个步骤。

More Related