submodules git: ¿Qué repository se usará como el 'submodule'?

Tengo un repository git privado (repos 'privado') con un montón de files en ellos que edito con frecuencia. Algunos de estos files se publican en un website. Es tedioso actualizar estos files cada vez que hago un pequeño cambio. Por lo tanto, pensé en usar los submodules de Git de la siguiente manera: configuré un segundo (ahora público) repository git ('público') y puse todos los files que aparecen en el website. El website luego proporciona enlaces a estos files en 'público'. Una vez que edito uno de los files en 'private' que también están en 'public', los cambios en 'public' serán visibles (después de un simple command git) y los cambios en el file serán visibles en el website. Mis preguntas son:

1) ¿Es este un buen enfoque para lidiar con el problema?

2) Leí acerca de la git submodule update --remote --merge pero aún no estoy 100% seguro de si esto actualiza el submodule a los cambios en el proyecto principal o exactamente al revés. Frecuentemente veo el wor 'upstream' utilizado en las explicaciones pero no pude encontrar una definición exacta.

3) Si los submodules se usan principalmente en el sentido de que uno actualiza el proyecto principal a los cambios en los submodules, ¿tendré que crear el repository "privado" como submodule y el "público" como proyecto principal? (porque me gustaría rastrear los cambios a 'privado' desde 'público')

[Pensé que todavía tengo estas preguntas en una sola publicación, ya que están bastante relacionadas.]

Usar submodules agrega bastante complejidad.

Parece que sería más fácil tener un único repository, con un directory 'privado' y un directory 'público'. El directory 'public' podría contener enlaces simbólicos a los files en 'private'.

Esto le permitiría tener 2 types de files pero evitar la complejidad de los submodules.

Otra opción sería hacer que su sistema de compilation lo maneje: tenga solo un directory que contenga todos los files, y tenga un objective Makefile que copie los files públicos en otro directory.