¿Git flujo de trabajo para mantener un tenedor de extensión de proyecto?

Hemos bifurcado un proyecto OSS en GitHub y le estamos agregando algunas extensiones personalizadas. Queremos enviar algunos de los cambios que hacemos al proyecto original (correcciones de errores y similares), pero otros cambios son extensiones de funciones que los mantenedores del proyecto originales no están interesados ​​en este momento. Estoy tratando de encontrar el mejor flujo de trabajo para manejar esta situación.

Quiero que nuestra rama maestra contenga la suma de (confirmaciones del proyecto original) + (nuestras correcciones de errores para la contribución) + (nuestras extensiones personalizadas). Me imagino que querremos un modelo de rama por característica para poder mantener las correcciones de errores separadas de las extensiones personalizadas. Podemos iniciar ramas de extensión personalizadas desde nuestra rama maestra, pero creo que también queremos mantener una rama de "origen" local o algo que rastree el proyecto original para que podamos iniciar ramas de corrección de errores desde allí que no estén contaminadas con nuestra cosas personalizadas O algo.

¿Alguien puede sugerir la mejor manera de estructurar este flujo de trabajo de modo que todas las diversas confirmaciones vayan a donde se supone que deben ir y ninguna a donde no se supone que vayan?

Respuestas a la pregunta(2)

Su respuesta a la pregunta