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.

9 Likes

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.

4 Likes

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.

3 Likes

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.

2 Likes

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

3 Likes

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.

5 Likes

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.

1 Like

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!

is there any status or update on this? it feels crazy that I can’t easily revert changes due to unintended clicks. I find myself constantly mashing undo to make sure I don’t cascade updates in an unintended manner.

This issue becomes particularly problematic in large companies. Transferring your modifications to another branch isn’t a viable solution because it breaks the connections between components.

What’s even more frustrating is that at times, it indicates that a change has occurred, but when you review it in the comparison view, there is no clear explanation for the modification. So, is there really a change at all?

+1 very much needed

I went searching for this thread to find out I’d already commented on it 11 months ago! Guess this is an annual struggle for me.

One of my variants in an icon button with auto layout on it says the horizontal constraint has changed from scale to center. It’s just one variant, not all the variants, and there isn’t a single layer that I even have access to the constraints panel with, so I really have no idea how to deal with this. I can’t undo it, I can’t modify it to get rid of it, and I have no idea how it happened since I was editing a completely unrelated component. I would love to be able to discard this change since I’m fairly certain it’s a bug, but right now, to keep working, my only choice is to accept it, publish to my team, and hope it doesn’t break anything. Discarding would be ideal in this situation.

+1 much needed. I think it’s crazy we cannot include/exclude yet what we want to merge request during the review

Branching without usable conflict resolution makes life much harder than it should be.