说明:由于博客园的限制,之前转发的MVP卢建晖的文章不能放入首页,但我会继续转发,感兴趣的同学请到我的博客首页查看。


博主:

翻译自微软Visual Studio ALM产品组老大Brian Harry 的博客文章 The future of Team Foundation Server Version control.

最近关注微软开发工具的同学一定都对TFS有一定的了解,从2013版本开始,TFS中提供了2种不同的源代码管理方式,TFSVC和Git。随着Git的大规模流行,好像TFSVC变的越来越不重要了。而实际情况远非如此,就博主自己的经验而言,虽然互联网公司,创业团队对于Git 非常钟爱,但是对于许多传统行业或者大型团队,使用集中式的TFSVC仍然是他们的第一选择,这里面当然有很多诸如安全,管控的问题;但是现实的情况是不能忽视的。

关于 Brian Harry
Brian Harry是微软院士,同时也是Team Foundation Server产品组的总经理。

译文:

我之前也针对这个问题写过文章,但是这个问题仍然挥之不去。经常有人问我“TFSVC是否已经死掉了?”,我觉得我必须不停的回答:不,不会!

我们在TFS2013中加入了Git的支持,因为我们觉得集中式(CVCS)源代码控制和分布式(DVCS)源代码控制都是业界非常需要的功能。我们在Git上的投入是相当大的,这是由于我们必须提供与TFSVC同等的功能。大家的误解当然是有一定的原因的。我们最近谈了很多的Git,非常多。业界也对Git非常关注,非常。而且,如果你关注微软最近的走向,你会发现微软内部越来越的团队在使用Git。我自己的很多团队也转向了Git。这些都是事实,很多人就此认为我们将会摒弃TFSVC,但我们不会。

我们大多数的客户仍然在使用TFSVC,我们对此非常重视。微软内部也仍然在使用TFSVC。在Visual Studio Online (VSO)上新创建的项目,大多数都选择使用TFSVC。毫无疑问,我们看到了转向Git这一趋势,同时我也认为这种趋势将会继续。在以后的几年中,我觉得Git的使用比例会超过50%,这很有可能。无论如何,仍然有几十万(接近百万)的项目在使用TFSVC。因此,TFSVC在很长的一段时间里仍然非常的重要。

好吧,以上都是个人的观点,下面我们看一些事实:

TFSVC的核心非常成熟,有非常大规模的团队在使用TFSVC,它非常的稳定。我们最近更加关注TFSVC的核心功能,比如:

  1. 我们最近大幅改进了我们的Web界面,加入如浏览器内编辑,签入,删除等功能。这些都是在TFSVC上。
  2. 我们为TFSVC添加了“欢迎页面”,基本上就是一个基于TFSVC的wiki页面。(博主:使用markdown语言的wiki页面)
  3. 我们在CodeLens上支持TFSVC,而且一些功能只在TFSVC上可用,比如:“分支变更影响”指示器的功能。
  4. 下一代的构建系统Build.vNext支持TFSVC。
  5. 全新的代码搜索功能,虽然预览版只支持Git,但在正式发布版中会提供对TFSVC的支持。
  6. 代码评审功能的改进,包括多次迭代式评审,web支持,Visual Studio中的代码评审意见注释等等。这些都支持TFSVC。
  7. 我们最近在支持Mac/Linux环境的跨平台Team Explorer Everywhere (TEE)工具上改进了对超过260个字符的支持,这也是在TFSVC上。这是社区中经常被吐槽的问题。(博主:TEE是Eclipse的插件,提供Eclipse中连接TFS进行团队开发的能力)
  8. TFSVC项目的改名操作,看上去是个小功能,但其实底层做出了非常大的改动。
  9. 我们正在开发同一项目中2种源代码控制并存的支持,这也需要对TFSVC进行修改。

当然还有很多我现在没办法分享给大家。大家可以看到,TFSVC没有死,而且活得很好,我们还在这上面大规模的投入,并且会继续投入。对于用户来说,你需要根据自己的实际情况选择最适合你的工作方式,我们会一如既往的支持你。

希望本文可以帮助大家消除疑虑,如果有问题的话,欢迎和我联系。

Brian

欢迎关注本博客微信订阅号 anb-io。每周推送内容,有技术也有生活,和你一起做一个有情怀的程序猿。

(翻译) TFS源代码控制的未来 (TFSVC vs. Git)的更多相关文章

  1. (翻译) TFS源码控制的未来 (TFSVC vs. Git)

    博主: 翻译自微软Visual Studio ALM产品组老大Brian Harry 的博客文章 The future of Team Foundation Server Version contro ...

  2. TFS下的源代码控制

    以下主要描述了: TFS源代码控制系统的基本场景 如何把一个项目添加到源代码管理中 如何与服务器同步 如何做Check-In 如何做分支与合并 什么是上架与下架 我们知道工作项是项目管理的基本元素,但 ...

  3. [转]TFS下的源代码控制

    本文转自:http://www.cnblogs.com/ajiefj/archive/2010/04/23/1718450.html 以下主要描述了: TFS源代码控制系统的基本场景 如何把一个项目添 ...

  4. TFS源代码管理的8大注意事项

    TFS源代码管理的8大注意事项 目录 源代码管理的8大注意事项... 1 1. 使用TFS进行源代码管理... 2 2. 如果代码没放在源代码管理软件里,等于它不存在... 2 3. 要早提交,常提交 ...

  5. [转载]TFS源代码管理8大注意事项

    目录 1. 使用TFS进行源代码管理 2. 如果代码没放在源代码管理软件里,等于它不存在 3. 要早提交,常提交,并且不要觉得麻烦 4. 提交前要检查你更改了什么 5. 写提交信息时一定要认真 6. ...

  6. [转载]TFS源代码管理

    以下主要描述了: TFS源代码控制系统的基本场景 如何把一个项目添加到源代码管理中 如何与服务器同步 如何做Check-In 如何做分支与合并 什么是上架与下架 我们知道工作项是项目管理的基本元素,但 ...

  7. vscode 显示"没有活动的源代码控制提供程序“处理

    不知为何我的 VS Code 在 1.25 版本开始就一直 ”没有活动的源代码控制提供程序“,找了好几天都没找到,今天终于找到怎么处理了, 切换到插件中找到下图对应的 Git (可以直接再上面搜索框输 ...

  8. VSCode Git 没有活动的源代码控制提供程序

    主要原因:我以前安装的Git只允许在Git-Bash中运行,需要重新安装Git,选择允许三方软件的那个选项,然后安装Git插件,修改git.path即可. 以下是解决过程中的尝试,记录如下,实际上只需 ...

  9. [翻译]用Dart塑造Android未来

    明天回家,今天下午瞅时间翻译了Cyril Mottier的另外一篇有关Android前景的文章. 原谅地址是:http://cyrilmottier.com/2014/06/12/shaping-th ...

随机推荐

  1. 【SQL】统计所有表的行数

    环境:mssql ent 2k8 r2 原理:遍历所有用户表,用sp_spaceused过程分别获取每张表的行数并写入临时表,最后返回临时表 IF OBJECT_ID('tempdb..#TableR ...

  2. 创建Oracle数据库

    [root@localhost ~]# su - oracle [oracle@localhost ~]$ sqlplus /nolog SQL> conn /as sysdba; SQL> ...

  3. MySQL MHA配置常见问题

    MHA在MySQL数据库中被广泛使用,它小巧易用,功能强大,实现了基于MySQL replication架构的自手动主从故障转移,从库重定向到主库并自动同步.尽管如此,在部署配置的过程中,由于疏忽总难 ...

  4. CentOS 配置防火墙操作实例(启、停、开、闭端口)

    防火墙的基本操作命令 查询防火墙状态:[root@localhost ~]# service   iptables status<回车> 停止防火墙:[root@localhost ~]# ...

  5. SqlServer中的自增的ID的最后的值:

    SqlServer中的自增的ID的最后的值: SELECT SCOPE_IDENTITY() --返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值.SELECT @@I ...

  6. 第 29 章 CSS3 弹性伸缩布局[下]

    学习要点: 1.新版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.新版本 新版本的 Flexbox 模型是 201 ...

  7. 2016暑假多校联合---Counting Intersections

    原题链接 Problem Description Given some segments which are paralleled to the coordinate axis. You need t ...

  8. SDRAM,DRAM,SRAM,DDR的概念

    一:SDRAM SDRAM(Synchronous Dynamic Random Access Memory),同步动态随机存储器,同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输 ...

  9. PHP知识库图谱汇总(完善中)

    基本语法不做汇总 经典算法: 冒泡算法.快速算法.二分查找 字符串处理: 字符串查找 字符串排序 字符串切割 字符串定位 字符串对比 字符串大小写转换 Session和Cookies: Session ...

  10. Ocrad.js – JS 实现 OCR 光学字符识别

    Ocrad.js 相当于是 Ocrad 项目的纯 JavaScript 版本,使用 Emscripten 自动转换.这是一个简单的 OCR (光学字符识别)程序,可以扫描图像中的文字回文本. 不像 G ...