Git - Control remoto diferente para cada rama

No estoy seguro de cómo preguntar esto correctamente, pero intentaré hacerlo lo mejor posible. No soy un aficionado al Git, lo sé.cómo para usar los comandos básicos pero no la terminología / funcionalidad avanzada.

Tengo un repositorio privadomyrepo clonado desde un servidor privadogit.mydomain.com. Estoy familiarizado con el proceso de ramificación de código en el mismo repositorio congit checkout -b mybranch - Sin embargo, me gustaría pasar a GitHub en lugar de a mi servidor privado, dando como resultado algo como esto:

Repo       Branch      Remote Location    (Purpose)
------------------------------------------------------------
myrepo --> private --> git.mydomain.com  (Incremental work)
  |
  +------> public  --> github.com        (Public releases)

Esencialmente me gustaría podergit checkout public ygit merge private.

Respuestas a la pregunta(1)

Su respuesta a la pregunta