公司名称:河南蓝鸥科技有限公司

联系人:刘老师 先生 (运营)

电话:0371-55153597

传真:

手机:15838221845

郑州Web前端培训机构排名怎么样

发布时间:07月07日

详细说明

谷歌和 Facebook 都只有一个代码仓库,全公司的代码都放在这个库里。

郑州Web前端培训一直很困惑,为什么要这样做,不同语言的项目放在一个库有什么好处?

*新一期的《ACM通信》(59卷第7期)有一篇论文《为什么 Google 要把几十亿行代码放在一个库?》,作者是谷歌基础设施小组的工程师,可以看作官方对这个问题的详细解答。我读后感到收获很大,下面就是摘录。

郑州Web前端培训

一、概况
谷歌*早使用 CVS 进行代码管理,1999年改为 Perforce。那时是一台 Perforce 主机,加上各种缓存机。

当时,全公司的代码就在一个仓库里面,后来一直沿用这种做法。由于规模不断增长,Perforce 已经无法满足需求,谷歌就开始使用自己开发的版本管理系统 Piper。

Piper 架设在谷歌自己的分布式数据库系统(以前叫 Bigtable,现在改名 Spanner)之上,分布在全世界10个数据中心,保证世界各地的谷歌员工都有良好的访问速度。

目前,这个代码仓库包含10亿个文件、3500万次提交记录,大小为86TB,用户达到几万人。工作日每秒有50万次请求,高峰时80万次,大部分来自自动构建和测试系统。

谷歌90%以上的代码,放在 Piper 里面。对于那些开源的、需要外部协作的项目,代码放在 Git,主要是 Android 项目和 Chrome 项目。Git 的特点是,所有历史记录都会复制到用户的本地机器,所以不适合大型项目,必须拆分成更小的库。以 Android 为例,该项目一共包含800多个独立的仓库。

二、Piper 的设计2.1 结构
整个仓库采用树状结构。每个团队有自己的目录。目录路径就是代码的命名空间。每个目录都有负责人(owner),他负责批准该目录的文件变动。

2.2 权限控制
Piper 支持文件级别的权限控制。99% 的代码对所有用户可见,只有少部分重要的配置文件和机密的关键业务,设有访问限制。

如果机密信息不小心放上了 Piper,文件可以被快速清除。并且,所有的读写都有日志,管理员能够查到谁读过这个文件。

2.3 工作流
Piper 的工作流(workflow)如下图。

郑州Web前端培训

开发者先创建文件的本地拷贝,这叫做”工作区”(workspace)。完成开发后,工作区的快照共享给其他开发者进行代码评审。只有通过了评审,代码才能合并到中央仓库。

QQ:2290909800 QQ交流群:493076664;97682894;咨询电话(Phone):15838221845(手

河南蓝鸥科技有限公司


联系人:刘老师 先生 (运营)
电 话:0371-55153597
传 真:
手 机:15838221845
地 址:中国河南郑州市莲花街55号教育科技产业园B座
邮 编:450001
网 址:http://2290909800.qy6.com.cn(加入收藏)