2011-07-17 12 views
6

Tengo varios proyectos diferentes de código cerrado basados ​​en una base de código similar y cada día que necesito copiar cambios y correcciones de uno a otro y viceversa.¿Cómo administrar múltiples proyectos similares pero diferentes con git?

Como algunos de mis proyectos divergen demasiado como para usar submódulos git y en otros no quiero que mi desorden clientes de cartuchos y, en consecuencia vistazo a mi trabajo en otros proyectos ahora lo hago con git patch y git apply, que es una trabajo tedioso

estoy a punto de considerar un cambio a git pull y git push entre los repositorios locales en mi máquina en consecuencia utilizando git cherry-pick y git merge para recoger los cambios necesarios, pero si hay una manera mejor?

+1

¿sus proyectos comparten el código común? si es así, puede tener tres repositorios: core, projectA y projectB. los cambios y las correcciones ocurren en 'core' y se extraen a projectA y projectB. los cambios exclusivos de cualquiera de los proyectos ocurren en el repositorio del proyecto – knittl

+0

¿Podría explicar por qué no puede usar los submódulos? – celavek

+0

@knittl no puede hacer eso, porque necesito controlar qué cambio va a parar cuando cobro por ellos – sanmai

Respuesta

1

Usando git cherry-pickpuede haga lo que quiera. Al tener el otro repositorio como un control remoto desde el que puede buscar, aún puede seleccionar cuidadosamente compromisos únicos. Tampoco tiene que crear una rama del control remoto, solo busque los cambios y seleccione el sha1 de la confirmación que desea realizar. Cuando presionas, no debe presionar las otras referencias extraídas, ya que no están en tu rama actual, solo la confirmación seleccionada es.

Cuestiones relacionadas