How to replace component (with a new component or version)

I’m struggling with versioning components, or how to replace an existing (master) component with a new / updated version.

For example, I’ve made a copy of a library component and worked on it in another file, to leave the library untouched. Now I need to replace the old one with the new one (without breaking connections to all the instances).

Does anyone know the best way to do this?

(Please let me know if my question isn’t clear enough.)

thanks in advance.

p.s.: is there a better way of creating a working copy / draft / branch of a component to work on? Should I not be copying a component, and instead just modifying the existing one? (I’m reluctant to do that, for obvious reasons - I don’t want to mess with the published version and break something accidentally. And while Figma does have a Version History, it’s for the entire file, there is no version history for a component as far as I know…)

Usually when I want to update a component I create an instance of it and do my changes there, then when I’m done I use “Push updates to main component”.

If you are on Organization plan you can also use branching feature and merge changes from the branch when you are done with your updates.

Thanks Bart. Appreciate the reply.

When there are variants, do you create an instance for each variant? Or how does that work?..

I don’t know, I feel like with even a few variants this would be unwieldy and error-prone… And I really really like the new “Multi-edit” feature, which seems like the obvious way to edit a component.

We’re a small team so we’re on the Professional plan, not the Organization plan, otherwise I’d try the branching approach.