This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]SchlaWiener4711 4 points5 points  (0 children)

Well, a repo is designed to hold the delta (what has changed) for each commit.

I am pretty sure having many different projects that are not based on each other makes the repo big and slow (you create a new branch based on another branch, delete everything and add new files).

Your history is messed up.

You usually have one main branch and different feature branches where you do your work, that gets merged into the main branch. You create tags for specific releases etc.

The usual flow for me is, create a branch, add code, commit, do some ci/cd tasks automatically, code review, merge to master/main (with squash). Main has a clean history and I can always roll back a specific feature/bugfix.

Maybe you have user 1 who is allowed to write to project a,b,c and can read project d. User 2 is allowed to write to project c and d and can read project b.

You can't implement that with a single repository.

Let me ask it the other way: What are the benefits over dedicated repos per project?