My development layout is back to an old version, how can I restore a previous version?

The solution seems to be to push my layout changes to production before switching to a new branch, according to How to bring in layout changes from staging to local

Why did this became so complex? Why isn’t this explained in the error message of the cli when I try to push a remote layout to local environment? There’s room for improvement here…