Github fue desarrollado por Chris Wanstrath, P. J. Hyett, Tom Preston-Werner y Scott Chacon usando el framework Ruby on Rails, y empezó en 2008 pese a que la compañía Github, Inc fue registrada en 2007.
Y casi un mes más tarde, en otra charla en las oficinas de Yahoo!
anunciaron que habían crecido hasta los 90.000 repositorios, llegando a los 135.000 si se contaban los forks.
[5] Los repositorios son, como su propio nombre indica, lugares virtuales alojados en la nube en donde los usuarios pueden almacenar cualquier tipo de archivo.
[18] Los issues, llamados «propuestas» en español, se asemejan, en cierta medida, a los hilos en algunos foros y redes sociales: son publicaciones que tratan sobre una cuestión en específico.
En GitHub, los issues son abiertos por usuarios que tienen un fallo con el código del repositorio y quieren recibir ayuda para solucionarlo, por usuarios que quieren plantear una compleja mejora del programa, entre otros usos.
[19] Se pueden enlazar pull requests a los issues, así como asignar usuarios y etiquetas.
Cuando el usuario ha editado uno o varios archivos, puede enviar la solicitud al repositorio que quiere modificar.
De esta forma, se creará una solicitud en la pestaña de pull requests, donde el creador del repositorio o los colaboradores pueden decidir si aceptar o denegar la solicitud.
Adicionalmente, pueden revisar el código y enviar comentarios a modo de retroalimentación.
[20] Al igual que con los issues, es posible asignar usuarios y etiquetas a las pull requests.
Cada repositorio tiene la opción de usar actions, que es un servicio que permite al usuario crear flujos de trabajo con los cuales automatizar ciertas acciones, logrando así una integración continua y una entrega continua.
Se encuentran en una pestaña aparte, por lo que no es necesario llenar el directorio del proyecto con archivos de información.
En la sección lateral izquierda de los perfiles aparece la información personal y la información adicional del usuario (la foto de perfil junto con su estado, la biografía, la compañía en donde trabaja, el lugar en donde reside, el enlace a su sitio web, su nombre de usuario de Twitter, su dirección de correo electrónico, las personas y organizaciones que lo patrocinan así como las personas y organizaciones a las que el usuario patrocina, las insignias que ha ganado, la cantidad de respuestas en discusiones que han sido marcadas como «correctas» y las organizaciones a las que pertenece; añadir esta información es opcional, ya que pueden dejarse los campos en blanco o desactivar mostrar dichas secciones en los ajustes).
[27] Como Markdown admite texto en diferentes formatos e imágenes, es posible hacer una combinación de muchos estilos.
En la última sección, debajo de los repositorios anclados o populares, aparece el gráfico que muestra los días en los que el usuario ha hecho como mínimo una contribución y la cantidad de estas.
Cada equipo tiene su propia página de debates, pueden ser mencionados directamente, entre otras muchas funciones.
Funciones como el patrocinio pueden ser activadas igualmente en cuentas de organizaciones.
[42] GitHub permite, asimismo, establecer nombres de dominio personalizados (que no tengan la terminación «github.io»), así como subdominios.
Hay una sección de comentarios, y los usuarios registrados pueden votar positivamente si así lo desean.
[54] Técnicamente, un Gist es un repositorio que usa Git, pues puede ser bifurcado o clonado.
[55] Un «Codespace» es un entorno de desarrollo integrado incluido en GitHub y disponible para ser usado en cualquier repositorio.