Usando un repository git para múltiples proyectos

Empecé a usar git recientemente y uso bitbucket también para alojar mi código. Me siento cómodo con los conceptos básicos, como hacer una twig, fusionarla y empujar, tirar, etc., pero ahora tengo una situación de la que no estoy seguro.

Básicamente, he desarrollado un cms que deseo usar en múltiples proyectos. Tengo un repository para esto que llamo 'cms_template'.

Cada vez que deseo crear un nuevo proyecto, solo clono esto en un nuevo repository.

Básicamente mi pregunta es esta: tengo el website A y el website B. Ambos son clones del repository cms_template, pero obviamente tendrán cambios por derecho propio, ya que son sitios web diferentes. No quiero volver a enviar estos cambios al repository cms_template, pero cuando actualice el repo de cms_template, quiero que estas actualizaciones sean 'extraíbles' en cada website. ¿Qué debo hacer para fusionar las actualizaciones que realizo en cms_template original en estos proyectos?

También quiero poder enviar tanto el website A como el B a sus propios repositorys remotos, pero estoy confundido sobre la mejor manera de hacerlo y no en conflicto con el repository cms_template.

Espero que mi pregunta tenga sentido. Me complace aclarar si es necesario.

Gracias en previsión de su consejo.

Debería considerar usar Composer para la gestión de dependencies. De esta forma, simplemente necesita una cierta versión de su CMS y puede actualizarla independientemente de otros proyectos.

También evitas la molestia de los submodules de git, que según se informa tienen sus problemas (no puedo comentar sobre eso porque no los he usado yo mismo, pero estoy un poco asustado y probablemente los evitaré si es posible).

Usar el compositor es tan fácil como download el file phar y agregar un file composer.json en todos sus repositorys para declarar las dependencies y los metadatos. También obtienes un autocargador de forma gratuita y la posibilidad de include cualquier otra biblioteca que ofrezca metadatos de Composer o está registrado en http://packagist.org (que es mucho).

Ver http://getcomposer.org/ para más información.

Esto suena como la configuration perfecta para los submodules de git (ver más información en http://git-scm.com/book/es/Git-Tools-Submodules )

Editar: conserve los cambios individuales en las twigs de cms desde el maestro y transfiérelos mediante el uso de submodules en sus proyectos. Actualice su twig maestra cms cada vez que vuelva a establecer la base del website a / b.