Saddly, there is no way to restore previous version of a flow. You have to deal with versioning by your own. Personaly before modifing a flow, I usually make a copy using "Save as".
Then, if the flow is currently running, I work on the copy, test it, and replace the old with the new when it's good, otherwise I use the copy to keep track of how it was designed before.
That works great for manual trigger flow, for automated ones and to avoid unexpected all my flows are designed using a variable "Settings" with a JSON object. Ex:
I never use variable for constants, only if value changes during flow execution.
This way, none of my actions are hard-coded. I never use triggeroutputs directly either, I always use a Compose as an intermediary to make debugging easier, but more importantly it bring me the oppertunity to can change the triggers if needed without having to change all the references defined in the actions. So I can replace a "When a file is created or modified " trigger with a manual trigger for testing purposes. I just need to set an item ID in the Compose and set it back to the TriggerOutput ID when I switch back to the automatic trigger.
Now, as you can't cancel your changes, if you want some help to debug your flow, feel free to ask. Don't hesitate to post some screen shots of you flow for better understanding.
Regard,
Sam