相比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就集成的自动生成和发布功能。可以实现修改代码以后,生成和发布自动完成;也可以在发布过程中增加流程控制,例如需要项目经理审批才能继续发布过程。