2009-08-11 14 views
5

Me pregunto si esto es posible.Repositorio de git privado que se bifurca en github.com

Tengo un "proyecto de inicio" en github (repositorio privado). Lo que me gusta hacer es crear un repositorio de clienteA (también privado) pero debe ser bifurcado del "proyecto inicial". Mi idea es que el Cliente B, el Cliente C, todos puedan tener su propio repositorio privado y si soluciono un error que son genéricos en el "proyecto inicial", entonces puedo solucionar el problema con todos mis clientes fácilmente.

No he encontrado ningún modo de resolver esto. Actualmente resolví esto mediante la clonación del proyecto privado sampe ... ¿es un problema git o un problema github.com?

¿Hay algún problema?

+0

+1 a @jrockway – memmons

Respuesta

7

Esto es para lo que son las sucursales. Cada cliente obtiene una sucursal, problema resuelto.

Pero ... si el repositorio de cada cliente está en una cuenta separada, puede usar las herramientas git habituales para compartir los cambios. A modo de ejemplo:

$ git clone [email protected]:client/your-project 
$ cd your-project 
$ git remote add original [email protected]:you/your-project 
$ git fetch original 
$ git cherry-pick <change from original> 
$ git merge <whatever> 
$ git rebase <whatever> 
$ git push origin 

etc.

interfaz de usuario web de Github es sólo una conveniencia para los casos comunes. Si necesita hacer algo poco común, solo use sus herramientas git habituales. A Github no le importa.

+0

En un caso como este, ¿qué sucede si cambia un archivo en el maestro que está personalizado en la sucursal? Si sincroniza desde el maestro, ¿sobrescribirá lo anterior los cambios a nivel de sucursal? –

3

Para Git, la clonación es lo mismo que bifurcar, o para ser más precisos: Git no sabe bifurcar, eso es un github. Técnicamente, todas las horquillas son simplemente clones con diferentes propietarios.

Así que si clonas tu proyecto inicial para tres clientes, efectivamente tienes un solo repositorio con múltiples ramas porque cada fork es una rama. ¿Tal vez debería considerar el uso de submódulos para su proyecto inicial e incluirlo en cada repositorio de clientes?

Cuestiones relacionadas