2011-02-03 59 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