2011-02-03 28 views
19

Github es un servicio verdaderamente sorprendente. Me entusiasma comprender cómo es su arquitectura y cómo encajan las diferentes piezas; cómo almacenan los repositorios, cómo acceden a esos repositorios para mostrar los contenidos de los archivos, cómo manejan los diffs, etc. ¿Podría alguien dar una visión general de las tecnologías y técnicas que utilizan, para poder estudiarlos y ampliar mis conocimientos y habilidades a su vez? ?¿Cómo funciona el sitio web github (arquitectura)?

+5

Por qué no le preguntas a esta pregunta en el sitio web GitHub? Es más probable que los desarrolladores de Github respondan adecuadamente tu pregunta en lugar de personas al azar aquí en SO ... –

Respuesta

8

El núcleo de Github es el software de código abierto git, que es un software de control de versiones distribuidas y de administración de código fuente. Github agrega muchas características a la funcionalidad de git, incluido el seguimiento de problemas, wiki, control de acceso, etc.

Sin embargo, Github es un software propietario, y muchos de sus elementos internos siguen siendo desconocidos para el público en general.

Con el fin de averiguar cómo son piezas encajan entre sí, sugiero siguiendo los cables a continuación:

  • Github's official Engineering Blog, que cubre una amplia gama de temas del diseño de la plataforma.
    • especialmente this article, una extensa descripción escrita por Github CTO.
  • Projects that power Github, una lista oficialmente comisariada de proyectos de código abierto que alimentan Github. Aquí están algunos puntos destacados:
    • carriles - secundaria de web
    • Jekyll - Blog motor detrás Github Páginas
    • elasticsearch - motor de búsqueda
    • hubot - un robot de chat para la automatización de tareas
    • as - Browswer editor de código basado en
    • d3 - js lib para gráficos y tablas
    • resque - fondo funciona
  • GitLab, una alternativa de código abierto para Github, que ofrece prácticamente las mismas funcionalidades.
    • Lea el código fuente de GitLab y sabrá cómo funciona GitLab (y Github también) bajo el capó.
    • GitLab Architecture Overview. Este artículo es definitivamente un buen punto de entrada.

Robé un diagrama de distribución del sistema de Gitlab Descripción de la arquitectura. Apuesto a que ya conoces cómo funciona gitlab en este diagrama.

(Seguramente hay mucha diferencia entre Github y GitLab. Pero un proyecto de código abierto siempre es mejor para alguien que quiere aprender, ¿no?)

GitLab system layout diagram

0

Utilizan Git, que es un sistema de control de versiones distribuidas de código libre y abierto, diseñado para manejar desde proyectos pequeños a muy grandes con velocidad y eficiencia. ver https://git-scm.com.

Cuestiones relacionadas