项目管理工具_第1页
项目管理工具_第2页
项目管理工具_第3页
项目管理工具_第4页
项目管理工具_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章 项目管理工具,本章内容及目标: 了解Linux系统下几种常见的项目管理工具 了解Subversion工具的基本特征,以及与CVS的区别 了解Subversion的组织结构以及标签、分支、合并的概念 掌握SVN从项目建立到项目提交的基本操作,以及其维护操作 掌握SVN如何使用标签、分支和合并的方法,项目管理工具简介 项目管理是大型程序设计中必不可少的一部分。对于经常修改程序版本的程序员而言,项目管理的价值已远远超出软件开发的领域。在项目开发中,如果当前出现了失误,项目管理可以使用户代码自动恢复到一个已知的、工作正常的版本,从而避免重大的风险和损失,此外,在已经发布的老程序版本中如果发现了bug,用户也可以轻松的检出特定的版本,以确认和修订,并生成该bug的修补程序。如果没有版本控制和项目管理,用户在开发时必须慎之又慎,缓慢推进,这样会严重影响开发效率。 Linux下常用的管理工具主要包括以下几种:Redmine、DotProject、Subversion以及CVS几种,DotProject DotProject可以说是最早的开源项目管理软件系统,它是在1996年由开源组织人员开发的一个项目程序。它基于WEB程序,客户端不需要安装任何额外的软件即可使用(当前必须要有IE、Firefox等浏览器),它强大、小巧并且被翻译为众多国家的语言,是一款功能简单的项目管理程序。 Redmine Redmine也是一个基于WEB的项目管理软件,是项目管理系统的后起之秀。它是使用Ruby语言进行开发的。除了集成了DotProject许多相似的功能外,Redmine还有不少自己独特的功能,例如,提供Wiki、新闻台、时间跟踪、feed聚合、导出pdf、集成Bug跟踪系统等。,Concurrent Version System(CVS) CVS(并行版本系统)是一个基于GNU的客户端/服务器(C/S)系统,主要用于在团队开发环境下源码的维护。CVS用“Copy-Modify-Merge”支持对文件系统的访问和修改,并且明确将源文件的存储和用户工作空间独立开来,使其并行操作。CVS基于客户端/服务器的行为使其可容纳多个用户,构成网络也很方便,这一特性使得CVS成为大型公司进行程序开发和数据处理(特别是程序源代码处理)时的首选。 CVS的工作原理是:在项目总服务器上建立一个源代码库,并且在库里放置许多该项目的源程序。由总服务器源代码库管理员统一管理这些源程序。每个用户在使用源代码库之前,首先要把源代码库里需要的项目文件下载到本地,然后在本地任意修改,最后用CVS命令进行提交,由CVS源代码库统一管理修改。这样,就好像只有一个人在修改文件一样,既避免了冲突,又可以做到跟踪文件变化等,并且在修改新版本前,备份旧版本项目,如果新版本问题,可以再次使用旧版本进行程序二次开发。,CVS被应用于各种流行的开放源码工程中,并且使用它可以保持了对一系列文件所作的历史记录,对于一个开发者来说,那就意味着在进行程序开发期间,能够跟踪所有改动的痕迹。CVS的主要特点如下: 1)代码集中配置。 2)调整代码。 3)使用服务器负载小。 4)日志功能。 5)与Eclipse的有机结合 在自由软件世界里,并行版本系统(CVS)一直是版本控制中比较理想的选择。CVS本身不加限制的处事风格以及对网络化操作的支持,非常符合开源世界的协作精神。事实证明,这是个正确的选择。,Subversion(SVN) 同其它许多工具一样,随着科技的发展,CVS逐渐显露出衰老和缺陷的迹象。SVN是以CVS继任者的面目出现的新型版本控制系统,它的许多的特征都与CVS基本相似,但是又充分弥补了CVS的缺陷。所有的这些努力的结果使得从CVS可以非常容易的迁移到Subversion,而不需要做重大的改革。,相对于CVS而言,它支持如下特征: 1)统一的版本号 2)真实的版本历史 3)原子提交 4)空间节约 5)可选的网络层 6)优化数据库 7)高效的分支和标签操作 8)可修改性 9)跨平台,svn的基本概念 Subversion是一种集中分享信息的系统,它的核心是版本库,用户通过它可以存储所有的数据。版本库按照文件树形式储存文件和目录数据。与该版本库相连接并赋予权限的客户端可以连接到版本库,读写这些文件。通过写,别人可以看到这些信息,通过读数据,可以看到别人的修改。,锁定-修改-解锁 模式 在修改之前,“用户1”要“锁定”住这个文件,如果“用户1”锁住这个文件,“用户2”将不能做任何修改,如果“用户2”想请求得到一个锁,版本库会拒绝这个请求。在“用户1”结束编辑并且放开这个锁之前,“用户2”只可以阅读文件。“用户1”解锁后,“用户2”才能得到自己的轮换位置,锁定并且开始编辑这个文件。“锁定-修改-解锁”模型经常会成为用户的障碍,例如,有时候“用户1”锁住文件后忘了此事,而“用户2”一直等待解锁来编辑这些文件,于是“用户2”就在这里僵住了,这种情况会导致不必要的耽搁和时间浪费。,拷贝-修改-合并 模式 首先为每一个客户建立个人拷贝版的版本库文件,并在用户端建立本地映射,用户可以并行工作,修改各自的工作拷贝,最终将各个拷贝合并在一起形成最终的版本,这种模式最终要靠人工去确认正误 。,svn工作术语介绍 工作拷贝 签出 提交 更新,标签、分支和合并 主干和分支,标签 SVN版本控制系统允许用户在某一时刻为一组文件或者一些目录分配一个名字。“标签”是一个项目某一时间的“快照”,在Subversion里这个概念无处不在,每一次提交的修订版本都是一个精确的快照。 标签是一种很好的跟踪项目开发过程中发生重要事件的方式。通过标签用户可以获取文件的某个以前的版本,同时还可以签出项目几个月以前的源代码,因此,它在项目“馈归”中起到重要作用。 在某种角度看,标签实际上和分支是相同的。,合并 在版本控制中,用户可能最后想合并其中的几个分支,Subversion支持进行“合并”操作。虽然从分支上签出的版本都来自不同的分支,并且也是签回本身的分支,但是,Subversion是对文件目录进行操作,版本库管理员可以让版本系统找到在发布版本时做出了哪些修改和变化,然后再把这些改动应用到主干代码上,甚至可以把数个改动合并到主干上。,svn的基本操作: 创建项目库 svnadmin create 项

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论