I do not use git thread, but I would say that the answer depends on how modular you are. Can you deploy the core structure without deploying app1 and app2? Can you deploy applications 1 and 2 independently of each other? Is your development team large and complex enough to be seen as independent workflows?
If the answer to these questions is yes, I would consider them as several projects, each of which has a unique flow. However, if the answer to any of them is “No”, I would avoid breaking your project. In fact, if changes in applications and applications 2 also require significant changes in the main repository, I would not be able to break your repositories at all.
Nested repositories, whether they run with subtree, submodules or (divinely forbid) only .gitignore by definition, make workflows more complex. Commands like git bisect and git log are becoming a little less useful; Tracking history and errors are getting a little more complicated. New developers need to learn a little more to start coding. From personal experience: walk this path carefully. If your sub-repositions are very intertwined, you will return here in a year, writing this answer for someone who wants to break their project, for example, the problematic version of "Wave It Forward".
Christopher
source share