(翻译) 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: ...
随机推荐
- 两个IP实现IIS和Apache公用80端口的设置方法
1. 打开命令提示符并确保您位于 X:\Inetpub\Adminscripts 文件夹(其中 X 是 IIS 安装驱动器)中.为此,请在命令提示符下键入以下命令行: X: CD \Inetpub ...
- Linux学习笔记 (七)挂载命令
在Linux中,光盘,U盘,硬盘在使用之前必须进行挂载,挂载类似windows中的分配盘符. 一.查看挂载和自动挂载 1.mount:直接输入mount表示查看系统中所有的挂载点. 2.mount - ...
- Android代码实现控件闪烁效果
代码地址如下:http://www.demodashi.com/demo/13162.html 前言 在项目开发过程中,我们有时会遇到需要控件闪烁和停止的问题,这个用xml是可以实现的,但是为了在使用 ...
- mariadb mysql 报'Access denied for user 'root'@'localhost' (using password: NO)'错误的解决
C:\Program Files\MariaDB 10.2\bin>mysql admin -u root password "x123456789" mysql Ver 1 ...
- python装饰器的理解
学习python,发现装饰器是一个比较难理解的地方. 下面用代码来说明. 装饰器的作用是为了切面编程(AOP).这种编程在java上有很多实现方式.下面直接说明吧: 1.作为装饰器的函数至少有两个de ...
- iOS中解析Bonjour服务(转)
服务器端Bonjour服务发布成功之后,客户端可以通过NSNetService解析服务,解析成功后,可以获得通讯的数据细节,如:IP地址.端口等信息. 首先需要实例化NSNetService对象代码如 ...
- BZOJ 1798 AHOI2009 Seq 维护序列 线段树
题目大意:维护一个序列,提供三种操作: 1.将区间中每个点的权值乘上一个数 2.将区间中每个点的权值加上一个数 3.求一段区间的和对p取模的值 2631的超^n级弱化版.写2631之前能够拿这个练练手 ...
- 【LeetCode】 Rotate List 循环链表
题目:rotate list 解法1: <span style="font-size:18px;">/**LeetCode Rotate List:Given a li ...
- linux命令 — lsof 查看进程打开那些文件 或者 查看文件给那个进程使用
lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录 3.网络文件系统的文件,4.字符设备文件 5.(函数)共享库 6.管道,命名管道 7.符号链 ...
- Android.mk解析
https://developer.android.com/ndk/guides/android_mk.html#over LOCAL_STATIC_LIBRARIES PREBUILT_STATIC ...