相比SVN,对于TFS的优点我有以下几点看法,供大家参考:

1. 总体比较:

TFS是一个应用软件生命周期管理(ALM)软件,是一个软件研发平台产品,其功能覆盖了软件研发过程中的所有环节(包括源代码管理)和所有角色;而SVN只是一个简单的源代码管理工具。

可以简单来说,TFS具备SVN的所有源代码管理功能,二者是一个包含和被包含的关系。

2. 源代码功能比较:

单就源代码管理方面,TFS的优势在于:

1) 易用性。

在用户习惯上,TFS秉承了微软所有产品的特新,开发人员非常容易上手。软件使用过程中,用户会发现与日常导入操作系统、开发工具(VS),Office软件等有很多共同的体验。

2) 高度集成其他工具。

TFS高度集成主流的开发工具和常见的办公工具。

例如Visual Studio, Eclipse, XCode, ItelliJ,

例如Excel, 浏览器,Project

同时,TFS提供方便的API(.NET API, Java API, Rest API)集成,可以与企业现有的系统实现数据共享

3) 高度集成研发团队的工作项目

可以通过TFS的源代码,查询到代码变更的依据(需求、任务、Bug等)

反过来,可以通过项目管理的数据(需求、任务、Bug等),查询到相应代码的变动。例如,你可以查询到修复Bug所修改的代码行数。

4) 支持分布式代码库(Git)

除了支持集中式代码库(SVN属于此类),TFS还支持分布式的源代码库Git。这为TFS开拓了分布式代码管理的一个广阔天地,是SVN望成莫及的。

5) 搁置集

可以通过TFS将代码保持在服务器上,但是不签入到代码库中,实现将你的变更保存在服务器上一个临时的位置。这样,既备份了自己的代码,有不会影响其他团队成员的代码。

6) 代码评审

TFS提供基于开放工具的便捷的代码评审机制,可以实现研发团队内部之间的代码评审,或者与外部专家的代码评审。

7) 后台数据库存储

TFS的所有源代码和版本信息都存储在数据库中,在大型软件研发团队中,可以大幅提升数据的查询和存储速度。

同时,基于数据库存储,系统管理员可以方便的备份和还原TFS中的任何数据。

8) 代码搜索

TFS提供非常方便的代码搜索功能,开发人员可以在代码库中基于方法、类、对象等查询相关文件和代码。

9) 快速修改代码

你可以不需要任何开发工具,在浏览器上就可以完成代码的修改功能。

10) 自动化生成和发布

开箱即用的TFS就集成的自动生成和发布功能。可以实现修改代码以后,生成和发布自动完成;也可以在发布过程中增加流程控制,例如需要项目经理审批才能继续发布过程。

 

Figure 1 - Which one is better?

http://www.cnblogs.com/danzhang/  ALM MVP 张洪君

比较TFS与SVN,你必须知道的10点区别的更多相关文章

  1. 你必须知道的10个提高Canvas性能技巧

    你还在抱怨自己写的canvas demo徘徊在10帧以下吗?你还在烦恼打开自己写的应用就听见CUP风扇转吗?你正在写一个javascript Canvas库吗?那么下面九点就是你必须知道的! 一.预渲 ...

  2. Java程序员必须知道的10个调试技巧

    调试可以帮助识别和解决应用程序缺陷,在本文中,将使用大家常用的的开发工具Eclipse来调试Java应用程序. 但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE,我们会把重点放在运 ...

  3. 你必须知道的10个Python第三库

    1. BeautifulSoup Beautiful Soup是一个可以从HTML,XML进行提取文件的Python库,日常我们使用爬虫进行数据抓取回来之后,往往需要进行数据解析. 使用它能让你开心愉 ...

  4. 前端设计师必须知道的10个重要的CSS技巧

    对于一个初入门的前端设计师,在设计修改网站前端的时候,我们需要编写一些CSS.JS的内容达到界面效果.今天分享10个对于前端设计师来说重要的CSS技巧,这也是我在给许多客户做网站的过程当中总结出来的. ...

  5. Web开发者必须知道的10个jQuery代码片段

    在过去的几年中,jQuery一直是使用最为广泛的JavaScript脚本库.今天我们将为各位Web开发者提供10个最实用的jQuery代码片段,有需要的开发者可以保存起来. 1.检测Internet ...

  6. C#刨根究底:《你必须知道的.NET》读书笔记系列

    一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...

  7. (转)【推荐】初级.NET程序员,你必须知道的EF知识和经验

    转自:http://www.cnblogs.com/zhaopei/p/5721789.html [推荐]初级.NET程序员,你必须知道的EF知识和经验   阅读目录   [本文已下咒.先顶后看,会涨 ...

  8. 《你必须知道的.NET》读书笔记一:小OO有大智慧

    此篇已收录至<你必须知道的.Net>读书笔记目录贴,点击访问该目录可以获取更多内容. 一.对象  (1)出生:系统首先会在内存中分配一定的存储空间,然后初始化其附加成员,调用构造函数执行初 ...

  9. 《你必须知道的.NET》读书笔记二:小OO有大原则

    此篇已收录至<你必须知道的.Net>读书笔记目录贴,点击访问该目录可以获取更多内容. 一.单一职责原则 (1)核心思想:一个类最好只做一件事,只有一个引起它变化的原因 (2)常用模式:Fa ...

随机推荐

  1. javascript模板库jsrender for循环嵌套示例

    最近在参与整合前端的框架,我们知道javascript最强大的模板引擎之一当属jsrender,号称下一代jquery模板引擎的标准实现. 通常在模板merge的过程中,我们会遇到两次乃至三级嵌套的情 ...

  2. 极富创意的3D文件夹切换效果

    今天分享的是一个极富创意的文件夹切换效果.这个案例使用CSS 3动画实现了一个3D的平行六面体旋转效果.点击顶部的3个按钮可以旋转并切换.另外,每个六面体本身是一个文件夹,点击后可以展开查看里面的详情 ...

  3. arcgis破解的时候,不能启动license manager的问题

    1.防火墙没关:(非常重要) 2.win+R,调出控制台,输入services.msc.然后手动开启ArcGIS license manager服务,关闭其余类似erdas,matlab影响该服务的开 ...

  4. ID卡和IC卡

    1.ID卡 ID卡就是一种身份识别卡,卡内除了卡号之外,无任何加密功能. ID卡的工作原理:它是由卡.读卡器.后台控制器组成的. (1)读卡器通过天线发射射频信号 (2)当卡进入信号范围内后卡被激活 ...

  5. 应用代理 socket TCP协议 的资料

    http://blog.csdn.net/guowake/article/details/6615728 Linux下高并发socket最大连接数所受的各种限制 http://stackoverflo ...

  6. Android Handler机制(三)----Looper源码解析

    一.Looper Looper对象,顾名思义,直译过来就是循环的意思,从MessageQueue中不断取出message. Class used to run a message loop for a ...

  7. Facebook开源动画库 POP-POPBasicAnimation运用

    动画在APP开发过程中还是经常出现,将花几天的时间对Facebook开源动画库 POP进行简单的学习:本文主要针对的是POPBasicAnimation运用:实例源代码已经上传至gitHub,地址:h ...

  8. 【Android】HorizontalScrollView内子控件横向拖拽

    前言 网上ListView上下拖动的例子有,效果也很好,但是项目要横着拖的,只要硬着头皮自己写(主要是没找到合适的),参考文章1修改而来,分享一下. 声明 欢迎转载,但请保留文章原始出处:)  博客园 ...

  9. IOS中十六进制的颜色转换为UIColor

    IOS中十六进制的颜色转换为UIColor #pragma mark - 颜色转换 IOS中十六进制的颜色转换为UIColor + (UIColor *) colorWithHexString: (N ...

  10. C++语言-07-异常处理和信号处理

    异常处理 概述 概念 异常是指在程序运行时发生的特殊情况,C++ 中提供了一套异常处理机制,标准库 提供了异常处理的基础 作用 异常提供了一种转移程序控制权的方式 与异常处理相关的关键字 throw ...