微软使用开源软件Git来创建Windows

简介:

微软不仅仅是已经成为了开放源代码的热心用户,而且正在使用Git版本控制系统来构建Windows。专有软件开发的一个典型的例子就是依靠开放源代码创建其Windows操作系统。

微软使用开源软件Git来创建Windows

几乎所有的微软Windows工程师现在都在使用开源程序Git来构建Windows

其实,早在2013年,微软就已经宣布了其向Visual Studio开发工具套件和Team Foundation应用程序生命周期管理技术添加Git支持的路径图。同年晚些时候,微软技术研究员和TFS领导者Brian Harry宣布,微软将支持Git作为其分布式源代码控制平台。

但如同Harry在当时的博客文章中所说的,“我们越多地注视它,它看起来就越像是正确的事情。”

随着岁月的流逝,微软甚至对Git作出了重要的开放源代码贡献。在2017年,微软根据MIT License开放了Git Virtual File System(Git虚拟文件系统)。 GVFS使微软的产品团队能够扩展Git客户端来处理其庞大的源代码回收。

从那时起,微软开始移植所有的Windows代码到Git和GVFS。这项工作现在已经基本完成了,而微软正在享受其开放源代码创造的这个星球上最大的Git repo成果。

Harry写道:“在过去的3个月中,我们已经基本上完成了向微软的Windows团队推出Git / GVFS。”这可不是一件小事。“Windows代码库大约是3.5M的文件,当进入Git repo时,结果就变成了约300GB的备份。”

并且写道,“Windows团队约有4000名工程师,440个分支机构每天在工程系统中平均产生1760‘实验室’,还有成千上万个拖拽请求认证。所有三个维度(文件数、repo大小和活动)独立来看,都面临着令人生畏的规模方面的挑战,这些因素结合在一起让创造一个伟大体验变成令人难以置信的挑战。”

Harry承认这是一个可怕的经历。“第一次也是最大的一次跳跃发生在3月22日,当时我们面向约2000名工程师的Windows OneCore团队推出,这个2000名工程师星期五在Source Depot上工作,周末回到了家,周一早上回来上班的时候就要面对基于Git的新体验了。我的团队中的员工整个周末都在提心吊胆,祈祷这些工程师不会到星期一发现自己无法完成任何工作,因而将一腔怒火发泄到我们头上。坦率地说,令我吃惊的是,工作进展非常顺利,工程师们从第一天开始就卓有成效。”

事情并不是一帆风顺的。“我们发现第一周我们的UI提取请求和合并冲突解决方案根本没有扩展到这么大的变化,我们不得不争夺虚拟化列表并逐步获取数据,所以UI不会挂起。我们在几天内解决了这个问题,整体而言,这一周的情绪好于我们预期。”

今天,几乎所有的Windows开发人员都在使用Git。在接下来的几个月中,最后的500位程序员将迁至Git。Harry表示,“系统运行的规模真的很棒,让我们来看一些数字吧。”

在过去4个月中,该repo的历史上有超过25万次可达成的Git承诺。 每天8421次(平均)推送 每个工作日(平均)有2500份拖拽请求,有6600名评论者 4352个活跃主题分支 每天有1760个官方构建
微软继续调整GVFS供远程使用。Harry解释说:“Windows Team Services帐户位于美国西海岸的Azure数据中心……80%的Windows工程师克隆时间为127秒。由于Windows的工程师有很大比例来自雷德蒙德,所以这个数字是由他们主宰的。”

“我们从北卡罗莱纳州的办公室(这个地点更远而且网络的带宽要低得多)进行了测试。从北卡罗莱纳州不使用代理服务器进行了一次克隆差不多用了25分钟。配置了一个代理的情况下,用了70秒(比在雷德蒙德快,因为雷德蒙德的团队不使用代理,而且他们必须通过互联网去到数百英里外的Azure数据中心)。70秒和几乎25分钟对比改善了95%。”

毕竟,GVFS是一个开放源代码项目,欢迎你的试用。您所需要做的只是下载并安装它,创建一个具有Git repo的Visual Studio Team Services帐户,这对你是件好事。其他Git程序包含了Atlassian SourceTree和Git Tower。

具有讽刺意味的是,目前还没有支持GVFS的Linux Git客户端,但是内部微软支持Linux和Mac支持。微软程序员经理Saeed Noursalehi在GVFS错误列表中写道:“是的,我们绝对希望支持Mac和Linux,而且我们正在寻找具有这些平台上的文件系统专业技能的人。”

Linux和Git的创造者Linus Torvalds曾经说过:“如果微软曾经为Linux提供应用程序,那就意味着我赢了”。我认为微软使用Git创建Windows可以被视作是一种胜利。

本文转自d1net(转载)

相关文章
|
29天前
|
Windows
Coze开源软件Windows客户端-coze_desk
Coze开源软件Windows客户端-coze_desk
649 0
|
29天前
|
Shell Linux 开发工具
Git入门(windows系统)
Git入门(windows系统)
48 1
|
8天前
|
缓存 开发工具 git
windows系统通过git上传代码
windows系统通过git上传代码
|
8天前
|
Windows
win10家庭版安装iis 微软web服务器 windows安装IIS web服务器
win10家庭版安装iis 微软web服务器 windows安装IIS web服务器
|
29天前
|
Unix Shell 开发工具
windows下如何安装git以及IDEA如何配置git
该文指导安装Git 2.15.0版本。首先从Git官网下载最新安装包,双击安装,依次选择Next,同意默认配置,确保勾选添加到环境变量。在配置选项中,选择在cmd中使用Git(第2项),行结束转换选Windows(第1项),终端模拟器选MinTTY(第1项)。安装完成后,通过右键菜单或直接打开Git Bash验证安装成功。最后,配置全局用户名和邮箱,并在IDEA中设置Git路径以完成集成。
|
29天前
|
Ubuntu Windows
Windows WSL2上启用微软官方支持的systemd
Windows WSL2上启用微软官方支持的systemd
|
29天前
|
安全 开发工具 git
Windows11搭建Python环境(2)- Anaconda虚拟环境中安装Git
Windows11搭建Python环境(2)- Anaconda虚拟环境中安装Git
62 0
|
29天前
|
Shell 网络安全 开发工具
mac或windows下的git环境配置
mac或windows下的git环境配置
55 0
|
29天前
|
存储 JavaScript 开发工具
Windows 10环境下Git安装之简易指南
该指南教小白在Windows 10上安装Git,介绍Git设置的基础知识,为你的开发项目做准备!
|
29天前
|
网络安全 开发工具 git
Git在windows下上传文件至github流程
Git在windows下上传文件至github流程
25 0