博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(翻译) TFS源代码控制的未来 (TFSVC vs. Git)
阅读量:5043 次
发布时间:2019-06-12

本文共 1772 字,大约阅读时间需要 5 分钟。

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


 

博主:

翻译自微软Visual Studio ALM产品组老大Brian Harry 的博客文章 .

最近关注微软开发工具的同学一定都对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。每周推送内容,有技术也有生活,和你一起做一个有情怀的程序猿。

转载于:https://www.cnblogs.com/ups216/p/4347408.html

你可能感兴趣的文章
bootstrap-Table服务端分页,获取到的数据怎么再页面的表格里显示
查看>>
进程间通信系列 之 socket套接字及其实例
查看>>
天气预报插件
查看>>
Unity 游戏框架搭建 (十三) 无需继承的单例的模板
查看>>
模块与包
查看>>
mysql忘记root密码
查看>>
apache服务器中设置目录不可访问
查看>>
嵌入式Linux驱动学习之路(十)字符设备驱动-my_led
查看>>
【NOIP模拟】密码
查看>>
java容器---------手工实现Linkedlist 链表
查看>>
three.js 性能优化的几种方法
查看>>
《梦断代码》读书笔记(三)
查看>>
FreeMarker解析json数据
查看>>
Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作
查看>>
次序+“选择不重复的记录”(3)——最大记录
查看>>
Codeforces 450 C. Jzzhu and Chocolate
查看>>
[Unity3D]Unity3D游戏开发MatchTarget的作用攀登效果实现
查看>>
ACdream 1115 Salmon And Cat (找规律&&打表)
查看>>
JSON、JSONP、Ajax的区别
查看>>
AngularJS学习篇(一)
查看>>