¿Organizaciones de GitHub para un proyecto que abarca múltiples repositorios?

11

Comencé un proyecto que involucra al menos tres repositorios en GitHub.

Uno de los repositorios es un volcado genérico de documentación y ejemplos, y los otros dos contienen la implementación de dos programas que forman la columna vertebral del proyecto.

¿Debo usar una organización GitHub para manejar dicha configuración?
¿O debería volcarlo todo en mi propia cuenta, junto con una docena de otros repositorios completamente no relacionados?

jcora
fuente

Respuestas:

14

Respuesta corta ...

Comience con los repositorios en su cuenta personal. A partir de ahí, si / cuando las cosas crecen y / o se vuelven populares entre la comunidad, muévalas a una cuenta de la organización.


Respuesta larga ...

Veamos algunas de sus opciones:

1. Organización:

Para obtener más información sobre las características de la Organización GitHub, asegúrese de leer:

Blog de GitHub: Presentación de organizaciones

Si alguna vez tuvo que administrar varias cuentas de GitHub, deseaba un panel de control específico de la empresa, quería agregar colaboradores de solo lectura o necesitaba otorgar a alguien más el control administrativo sobre uno de sus repositorios, le encantarán las Organizaciones.

Según su pregunta, no puedo decir si una organización es adecuada para usted (mi instinto me dice "no") , pero tal vez mirar algunos ejemplos del mundo real lo ayudará a tomar su decisión.

Aquí hay algunos ejemplos de organizaciones de GitHub que me parecen interesantes:

  1. https://github.com/gruntjs
    Este es uno de mis ejemplos favoritos de una cuenta de Organización de código abierto. Estoy sobre todo impresionado por las convenciones de nomenclatura utilizadas para los repositorios (es decir, esencialmente grunt/es el repositorio principal y todo el núcleo / código de contribución / complementos / tareas relacionados viven en grunt-xxxx/repositorios).

  2. https://github.com/github
    Probablemente valga la pena mirar la propia Org de GitHub. cuenta. Las convenciones de nomenclatura utilizadas para los repositorios no son tan estrictas como las de Grunt (en mi humilde opinión), pero no obstante es un buen ejemplo. Ah, y ahora es probablemente un momento decente para señalar la pestaña "Miembros" , ya que no obtienes esto para cuentas personales o repositorios.

  3. https://github.com/twbs
    Twitter Bootstrap. Creo que este es un buen ejemplo de una Org. cuenta con solo unos pocos repositorios (tenga en cuenta el repositorio único con más de 58,000 estrellas). También tenga en cuenta que Bootstrap tiene cinco miembros (al momento de escribir esto), sin embargo, esos cinco son responsables de un repositorio increíblemente popular (en contraste con los 214 miembros de la Organización GitHub ).

    1. https://github.com/twitter : la cuenta principal de GitHub de Twitter.

Algunos ejemplos más generales:

  1. https://github.com/yeoman : herramientas de compilación.

  2. https://github.com/h5bp : repetitivo HTML5.

  3. https://github.com/nprapps : ejemplo de la industria de noticias.

2. Cuenta personal

Como ya mencionó, puede crear repositorios dentro de su cuenta personal y comenzar desde allí.

¿Necesitarás colaboradores?

Ayuda de GitHub: Colaboración / ¿Cómo agrego un colaborador?

Como puede ver, agregar colaboradores es bastante sencillo.

Según su pregunta, esta opción suena como la que desea.

3. Repo con múltiples ramas:

Puede crear un repositorio y utilizar ramas para organizar sus bits de código relacionados.

No creo que la mayoría de la gente esté de acuerdo en que esta es la mejor manera de organizar su código :

Por otro lado, no hay nada que diga que no puedes organizar partes de código relacionadas usando ramas.

Una molestia personal que tengo con esta técnica es que la GUI / interfaz de GitHub le mostrará este mensaje:

ingrese la descripción de la imagen aquí

... al ver ramas distintas a la tuya master(es decir, si tu rama está adelante / atrás en commits).

Consejo: Si está utilizando una versión más reciente de Git, puede extraer ramas específicas usando git clone -b mybranch --single-branch git://sub.domain.com/repo.git:

Relacionado:

4. Enfoque híbrido:

¿Debo usar una organización GitHub para manejar dicha configuración? ¿O debería volcarlo todo en mi propia cuenta, junto con una docena de otros repositorios completamente no relacionados?

Podrías usar una combinación de todo lo anterior. Por ejemplo:

  1. Configure una organización para "... volcado genérico de documentación y ejemplos, y los otros dos contienen la implementación de dos programas que forman la columna vertebral del proyecto".

  2. Use su cuenta personal para "... una docena de otros repositorios completamente no relacionados"

  3. Utilice ramas para páginas de demostración gh-pages, código relacionado y / o documentación.


Nota (s):

También vale la pena mencionar que puede usar el WIKI de un repositorio para fines de documentación:

mhulse
fuente