¿Cómo organizas tus repositorys git?

Los sistemas de control de versiones "tradicionales" siguen un model de "Catedral": todo el código se almacena en un repository principal.

Los sistemas de control de versiones distribuidas como git permiten una mayor flexibilidad en la organización de sus múltiples repositorys. Puede "presionar" cambios, "extraer" cambios y "clonar" repositorys.

¿Ha organizado sus repositorys a lo largo de su grupo de trabajo o líneas de flujo de trabajo? ¿Has notado algún patrón?

Scott Chacon, cuyo git-fu es muy fuerte, tiene algunas diapositivas excelentes sobre esto en Getting Git . Consulte las páginas 474 a 501 para get muchos diagtwigs excelentes que explican tres types de flujo de trabajo:

  • model de repository central (estilo svn),
  • model de dictador y tenientes (estilo de kernel de Linux),
  • model de gerente de integración (estilo github).

El context completo de las diapositivas referencedas se puede encontrar aquí Pro Git – 5.1 Git distribuido – Flujos de trabajo distribuidos .

Todavía soy bastante nuevo en git, pero la forma en que he estado manejando esto es hacer un desastre total en mi propio repository, y cuando llego a un estado que se ve bastante saludable (al less pasan algunas testings unitarias), labelrlo y enviarlo a un repository de acceso público.