git/gitolite: gran repositorio de git con varios miniproyectos

git/gitolite: gran repositorio de git con varios miniproyectos

Soy bastante nuevo en todo el tema del control de versiones, y más aún con git. Recientemente instalé git en mi(s) computadora(s) y lo configuré en un servidor NAS.

Sin embargo, tengo varias carpetas de clientes con varias carpetas de proyectos por carpeta de cliente.

Cada una de estas carpetas de clientes es un repositorio gigante que abarca todos los proyectos que contiene.

Lo que me pregunto es, ¿hay alguna manera de separar esto? Así, por ejemplo:

  1. El NAS es mi 'origen', y tiene gitolite instalado

  2. En la computadora 1 tengo todas las carpetas de proyectos en una carpeta de cliente jamás creada (rama limpia),

  3. En la computadora2 lo hagonoun nuevo pago de la rama del cliente (porque todos los proyectos en esa rama están completos y no necesito una copia de trabajo), perohacertener una nueva carpeta de proyecto para ese cliente "nuevo proyecto".

¿Hay alguna manera de confirmar y enviar al repositorio NAS desde la computadora2?

¿O tal vez existe una mejor manera de organizar todo esto?

Respuesta1

Una mejor organización de los repositorios de Git es tener un repositorio por proyecto de cliente (es decir, muchos repositorios dentro de las carpetas de su cliente: un .git dentro de cada subdirectorio de carpeta de cliente que coincida con un directorio raíz del proyecto).

La idea de tener un repositorio gigante por cliente no es necesariamente una buena idea, especialmente:

  • si esa carpeta está compuesta de proyectos que pueden evolucionar independientemente unos de otros.
  • si la suma total es enorme en volumen (lo que significa que cualquier clon será grande)

Si algunos de esos proyectos están vinculados entre sí, aún puede verlos como un repositorio (principal), con la noción desubmódulos.

información relacionada