I just walked around creating theme branches for my unfinished projects that Git manages. All of them are very self-sufficient in such a way that one topic branch is not directly related to another topic branch. However, all branches have a common point of view, the main branch, which is the core of the system, topic branches simply expand the possibilities in the main branch.
If I understand correctly, if I do something in the main branch, which affects (m) any branches of topics (say, change the API used to communicate between the kernel and individual functions) that do not apply to the theme, it is automatically installed, so that the branches can be fixed accordingly. Changes must be manually merged or selected cherry in other branches.
I understand that using submodules will achieve this. Submodules, however, lead to too much separation between the main project and potential project projects, mainly because the functions are not self-sustaining. They rely on the core.
So, what I'm looking for is a kind of method to say that certain files / directories are unique to a particular branch, everything else comes from the main branch. Having no better analogy, speaking in terms of Photoshop, I want Master to be a background layer, and each topic branch would be a partially transparent image layer on top of it with some unique content.
source share