Branching and Modification Components (specifically "can add rows" or "can add columns" or "can replicate these child components"

By Branching I mean the Git or other version control version of branching. Branch and merge. Many of our components are actually just offshoots of other components. No way to track. But how this happens is:

My colleague saves a full page layout that has SIX CARDS, in a grid 3 columns and 2 rows.

Now I want to make the layout wide. It makes sense to add more columns. Now I want to make it longer, now I want to add more rows. In order to do this, I have to break the component as is, and create another variant of that component that has more rows or more columns. So that’s a pain.

But more likely, what will happen is I break the component, and then my designs can start diverging in subtle ways that then have to be audited or rejected by engineering.

This is turning into a massive pain. We’re in the thousands of components with no end in sight. Now we have someone spending half their days just wrangling our component library. And they’re drowning.