Feature Request: Branching: Ability to revert/discard changes in the "Branch Review" Overlay

Hey there,

I’ve created a branch and added a component to our library. So far so good. Then I accidently moved an instance of a component a bit, so that in the “Branch Review”, it says “Node Reordered, Position, Rotation, or Scale changed”. And yes, that’s true. Even though, nothing has changed. I missed to it CMD + Z to revert it, so now when I want to merge, I have to merge it even if I don’t want, and then push a library update of this modified pattern.

My suggestion would be the same as we can do it in VS Code for example. Before commiting something, you have the ability to “Discard changes” meaning that all the changes you made in this commit will be removed and the component will be in it’s main branch position/state. That would be helpful for not having to merge something you don’t want/did only for testing purposes.


This would also be helpful when editing a main file directly (without a branch). I get a whole list of unintentional changes when I go to publish. I can uncheck the changes and not publish them, but they are still hanging out forever. I want to discard the unintentional changes individually.


Thanks for bringing this up Fabian!

1 Like

Yeah, I was expecting this to act like git add -p, and am struggling to use this incredibly useful feature without being able to only merge what I want to keep. I would love an enhancement like this.


I get a whole list of unintentional changes when I go to publish.

I’m dying for a fix to this, my publish screen is a horror show. In the same way a designer can “reset all overrides” in an instance they’ve edited, we should be able to “reset to last published version” to undo any changes we’ve accidentally made to components.


Don’t think we can use branching until we get the ability to discard as I just don’t know how I will affect the components I didnt plan to update


Not only does branching need the ability to discard, but - not to be a broken record here, I post about this too much, lol - discard needs to exist outside of branches, too. Hell, the only reason I use branches in the first place is to avoid that whole “I sneezed and figma suddenly thinks I changed 13 components” thing. Branches are a hack to fix a bigger underlying problem.


A fix I use regularly is to restore a previous version of a file. So once I noticed unintended changes, I go to file history and do that. helps a ton. especially in Libraries.

Adding in here! We use Figma and have a custom exporter for our UI code. Our Figma and code repository are in-sync when branches are made. I need to revert unintended changes or revert the state that main changes didn’t sync (either canceled or rejected by the user). My current fix is to make another branch and extract the intended changes and make sure all component overrides stuck - not ideal.

I would like this ability as well - in some cases, I have a change that I don’t understand, and I would like to be able to revert it on a component by component or page by page basis.

I have this same problem, I work with a large team in design system development and in some cases we all work in the same branch. We have a branch that we need to discard a change to merge and we can’t restore the history, because this change is too old and after that we had several other changes. Help me figma save this branch!