2011-02-03 58 views
19

Github是一个真正令人惊叹的服务。我渴望了解他们的建筑是什么样的,以及他们如何将不同的部分组合在一起;他们如何存储这些存储库,他们如何访问这些存储库以显示文件内容,他们如何处理显示差异等。有人可以概述他们使用的技术和技术,所以我可以研究它们以扩展我的知识并反过来提高技能?github网站如何工作(架构)?

+5

你为什么不在github网站上问这个问题?这很可能github开发人员会正确回答你的问题,而不是随机的人在这里...... – 2016-11-04 13:47:19

回答

8

Github的核心是开源软件git,它是一个分布式版本控制和源代码管理软件。 Github在git的功能上增加了许多功能,包括问题跟踪,维基,访问控制等。

但是,Github是专有软件,它的许多内部内容对于普通大众而言仍是未知的。

为了找出部分是如何配合到一起的话,建议按照以下线索:

  • Github's official Engineering Blog,覆盖范围广的平台设计的主题。
    • 特别是this article,由Github首席技术官编写的一个广泛的概述。
  • Projects that power Github,这是Github的一个官方策划的开源项目列表。这里有几个亮点:
    • 轨道 - Web后端
    • 杰奇 - 博客引擎背后Github上页
    • elasticsearch - 搜索引擎
    • hubot - 任务自动化
    • 王牌聊天机器人 - 基于浏览器的代码编辑器
    • d3 - 图形和图表的js库
    • resque - 后台工作
  • GitLab,Github的开源替代品,它提供了几乎相同的功能。
    • 阅读GitLab的源代码,您将了解GitLab(以及Github)的工作原理。
    • GitLab Architecture Overview。这篇文章绝对是一个很好的入口点。

我偷从Gitlab架构概述的系统布局图。打赌你已经从这个图表中得到了gitlab的工作方式。

(Github和GitLab的确有很多不同,但对于想学习的人来说,开源项目总是更好,不是吗?)

GitLab system layout diagram

0

他们使用Git这是一个免费的和开源的分布式版本控制系统,旨在处理从小到大的项目,速度和效率的一切。见https://git-scm.com