How to choose between one project per repository?

How to choose between one project per repository?

Choosing between “one project per repository” vs “multiple projects per repository” architecture. In our company, we have modularised most of the projects and are facing one of the biggest design hurdles: one project per repository or multiple projects per repository architecture.

Can a project be split into multiple Repos?

Multiple repo’s can almost always be grouped in software (e.g. BitBucket), but multiple projects in one repo cannot easily be “split” anymore. Furthermore, working on one projects out of a multiple-project-repo requires you to checkout all of the projects.

Which is better mono or multi Repo structure?

Recently, while engaged on a large geographically dispersed and multi-team project, the question was posed: “Should we use a single (aka “mono”) repository for our Infrastructure-as-Code (IaC), or should we use multiple (aka “multi”) repositories?” So, what’s the right answer?

Is it better to have one repo or multiple?

It makes the work with multiple repositories quite easier, is a good option to organize the repositories and to prevent new users to make mistakes. We have a front-end repo, back-end repo, and a pattern/style guide repo. They all work together to form the whole site but they are kept separate because they are versioned separate.

Why should you use a single repository for all your..?

In particular a monorepo should be organised with a number of subdirectories that each look more or less like the root directory of what would have otherwise been its own repo (possibly with additional directories for grouping projects together, though for small to medium sized companies I wouldn’t bother).

How can I stop creating new repositories?

The first and easiest thing to do is just stop creating new repositories. Either create a new monorepo or designate some existing large project as the new monorepo by moving its current contents into a subdirectory. All new things that you’d previously have created a repository for now go as new directories in there.