目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?

目前流行的源程序版本管理软件和项目管理软件:Microsoft TFS,Github, SVN, Coding,Trac,Bugzilla等。html

Microsoft TFS程序员

 TFS(Team Foundation Server )是一个工做流协做的引擎,它容许一个团队使用他们自定义的流程,并使用在项目历史中实时收集起来的一个集中的数据仓库。算法

优势:集成性。版本控制系统和工做项存储器在注册时集成在一块儿。当注册时,能够将其与一个或多个工做项关联。我的用起来通常也就主要用其源码管理功能。
 
GitHub
Ruby社区的程序员使用Git之后,找不到好的Git托管网站,因而就开发了Github出来。
优势:重视社区活动,在GitHub,用户能够十分轻易地找到海量的开源代码。速度快、灵活。
缺点:可能不是捕捉创意过程和记录创意点子的最佳工具。对于这种特殊功能模拟能够选择LayerVault 或其余类似工具。资料少(起码中文资料不多)。若是英文很差的人看不懂不知道说的啥。
SVN
 优势:性能提升。SVN无论文件是文本仍是二进制类型,在内部都是以二进制差别比较算法来表示文件的更新部分。这表示全部的文件在文件库中都是以差别的形式储存。并且在网络上传输的,都是较小的文件差别部分。这也使建立分支、打标签、合并等操做能够很是快地完成. 对目录的组织的管理更加方便。SVN不光对文件作版本跟踪,也会对目录作版本跟踪。所以能够根据项目的须要,对目录结构随时进行修改,能够把现有的目录移动到新的地方。 保证提交操做的完整性。SVN对提交操做的处理方式相似数据库的事务处理,要么所有成功,要么所有无效,保证了原子性。
缺点: 因为代码库不是分布式,而是集中在一个地方的。因此致使跨国访问的时候速度很慢。文中举的例子是代码库在美国,一部分人在中国频繁提交的状况。在这种场景下,速度不容乐观。因为代码库只有一份,特别是元数据都存在服务器上,因此当服务器崩溃的时候损失严重。
Coding
Coding 是一个面向开发者的云端开发平台,目前提供代码托管,运行空间,质量控制,项目管理等功能。此外,还提供社会化协做功能,包含了社交元素,方便开发者进行技术讨论和协做。
项目管理分为公开和私有项目,单个帐号能够建立总共1000个项目,包括公开和私有项目。
私有项目只对项目成员可见,并不会公开展现于项目成员的我的页面上。只有项目建立者才能添加项目成员,项目的全部内容和更新都只有项目上的成员能够进行操做和查看。主要功能以下:
  1. 文档管理:支持全部格式文件的上传,单个文档不超过50M,同时支持预览文档:Txt,md,html 等和图片:jpg,jpeg,png 等。
  2. 项目成员:只有项目建立者才有权限添加或删除项目成员。
  3. 任务功能:团队成员能够完成查看、编辑任务内容,推送任务给其余成员等交互操做,项目成员能够对全部任务进行评论。此外,任务优先级符号表示了一个任务的紧急程度,有三个叹号,两个叹号,一个叹号和没有叹号四种级别。每一个公司,均可能对不一样的优先级有不一样的定义。
  4. 项目讨论:只有项目成员可见的互动交流区域。该项目上的全部成员均可以在讨论区建立新的讨论帖,评论或者回复讨论。只有项目建立者和该讨论发起者能够编辑或删除已存在的讨论。
公开项目是彻底公开的,包括源码,项目讨论,质量控制等,只有项目成员能够编辑该项目,但任何用户均可以进行 fork,关注,收藏等操做。
相关文章
相关标签/搜索