(翻译) TFS源码控制的未来 (TFSVC vs. Git)
博主:
翻译自微软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的核心功能。比方:
- 我们近期大幅改进了我们的Web界面,加入如浏览器内编辑。签入。删除等功能。这些都是在TFSVC上。
- 我们为TFSVC加入了“欢迎页面”,基本上就是一个基于TFSVC的wiki页面。(博主:使用markdown语言的wiki页面)
- 我们在CodeLens上支持TFSVC。并且一些功能仅仅在TFSVC上可用,比方:“分支变更影响”指示器的功能。
- 下一代的构建系统Build.vNext支持TFSVC。
- 全新的代码搜索功能,尽管预览版仅仅支持Git。但在正式公布版中会提供对TFSVC的支持。
- 代码评审功能的改进。包含多次迭代式评审。web支持。Visual Studio中的代码评审意见凝视等等。
这些都支持TFSVC。
- 我们近期在支持Mac/Linux环境的跨平台Team Explorer Everywhere (TEE)工具上改进了对超过260个字符的支持,这也是在TFSVC上。这是社区中常常被吐槽的问题。(博主:TEE是Eclipse的插件,提供Eclipse中连接TFS进行团队开发的能力)
- TFSVC项目的改名操作。看上去是个小功能,但事实上底层做出了很大的修改。
- 我们正在开发同一项目中2种源码控制并存的支持,这也须要对TFSVC进行修改。
当然还有非常多我如今没办法分享给大家。
大家能够看到,TFSVC没有死,并且活得非常好,我们还在这上面大规模的投入。并且会继续投入。
对于用户来说,你须要依据自己的实际情况选择最适合你的工作方式。我们会一如既往的支持你。
希望本文能够帮助大家消除疑虑。假设有问题的话,欢迎和我联系。
Brian
欢迎关注本博客微信订阅号 anb-io。每周推送内容,有技术也有生活,和你一起做一个有情怀的程序员。

(翻译) TFS源码控制的未来 (TFSVC vs. Git)的更多相关文章
- .NET零基础入门之02:源码控制管理器的使用
一:概述 源码控制管理器,也叫"版本控制"软件,用于存储.追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是专业软件公司的基础工具.它主要是协助在多人团队中控制代码,防 ...
- 使用GIT进行源码管理 —— 在VisualStudio中使用GIT
GIT作为源码管理的方式现在是越来越流行了,在VisualStudio 2012中,就通过插件的现实对GIT进行了官方支持,并且这个插件在VS2013中已经转正.本文在这里简单的介绍一下如何在Visu ...
- redhat6.3下源码编译方式安装最新版git
在linux下安装git,通过yum方式安装的不是最新版本. 要替换最新版需要以下操作. 1.安装依赖包 # yum install curl-devel expat-devel gettext-de ...
- 【转】Android源码学习(2)使用Git和Repo进行版本管理
原文网址:http://blog.chinaunix.net/uid-26074270-id-2458828.html Android项目采用Git和Repo进行版本管理.在大多数情况下,Git都可以 ...
- git 源码安装后报错/usr/bin/git: No such file or directory
现象 今天源码安装一个git后,执行git命令后报如下错误: $ git --version -bash: /usr/bin/git: No such file or directory 分析过程 开 ...
- 解决方案:将已存在的项目 添加到 tfs解决方案中的时候 出现:新项目不能成功加入源码控制
遇到此问题 可能是因为你的 解决方案文件 没有正确与 tfs服务器绑定导致的 解决方式是: 在打开任意一个源码文件的时候,打开 vs2013的 文件>> Go to File->So ...
- Orchard源码分析(1):Orchard架构
本文主要参考官方文档"How Orchard works"以及Orchardch上的翻译. 源码分析应该做到庖丁解牛,而不是以管窥豹或瞎子摸象.所以先对Orchard架构有 ...
- 微信小程序源码推荐
wx-gesture-lock 微信小程序的手势密码 WXCustomSwitch 微信小程序自定义 Switch 组件模板 WeixinAppBdNovel 微信小程序demo:百度小说搜索 sh ...
- 微信小程序源码案例大全
微信小程序demo:足球,赛事分析 小程序简易导航 小程序demo:办公审批 小程序Demo:电魔方 小程序demo:借阅伴侣 微信小程序demo:投票 微信小程序demo:健康生活 小程序demo: ...
随机推荐
- objc语言的运行时处理
在Objective-C中,消息是通过objc_msgSend()这个runtime方法及相近的方法来实现的.这个方法需要一个target,selector,还有一些参数.理论上来说,编译器只是把消息 ...
- cakephp事务处理
使用cakephp框架做开发时,涉及到多个数据表的数据保存,需要使用cakephp的事务处理,查cakephp的说明手册也没看明白,从开发社区中看到了解决的办法,考虑到英文的问题,所以转给大家,以供参 ...
- Selenium webdriver Java 封装与重用
目的 1. 简化调用 WebDriver对页面的操作,需要找到一个WebElement,然后再对其进行操作,比较繁琐: WebElement element =driver.findElement(B ...
- <LeetCode OJ> 328. Odd Even Linked List
328. Odd Even Linked List Total Accepted: 9271 Total Submissions: 24497 Difficulty: Easy Given a sin ...
- [1-7] 把时间当做朋友(李笑来)Chapter 7 【从此时此刻开始改变】 摘录
大多数事情都需要提前准备,也都可以提前准备.认识到这一点本身就几乎是一切改变的起点. 任何动作演练到一定的次数,就能做到甚至在无意识的情况下都可以准确完成的地步.而他只不过是把这个原理应用到了极致而已 ...
- JSON——JavaScript 中的使用
由于JSON非常简单,很快就风靡Web世界,并且成为ECMA标准.几乎所有编程语言都有解析JSON的库,而在JavaScript中,我们可以直接使用JSON,因为JavaScript内置了JSON的解 ...
- iOS开发-使用代码退出应用程序,带动画。
有时候我们需要使用代码中断程序,如果直接调用exit方法,会使得程序就像是崩溃那样,因此我们应该加上一个动画效果. 例如: AppDelegate *app = [UIApplication shar ...
- Spring boot centos部署启动停止脚本
原文地址:http://www.cnblogs.com/skyblog/p/7243979.html 使用脚本启动和关闭服务,centos下的脚本启动和关闭可以如下: start(){ now=`da ...
- unity, write/read txt file
在Assets下新建文件夹StreamingAssets.然后下面代码可在其中生成test.txt文件,并读写: using UnityEngine;using System.Collections; ...
- GEEK学习笔记— —程序猿面试宝典笔记(三)
所谓笔记,就是比較个人的东西,把个人认为有点意思的东西记录下来~~ 程序猿面试宝典笔记(一)基本概念 程序猿面试宝典笔记(二)预处理.const和sizeof 程序猿面试宝典笔记(三)auto_ptr ...