(co-founder of gb here)
I am really sorry for the frustration - the app should do better and we will do better. In the past few months we have been putting a very deliberate effort to eliminate all conditions from which such poor experience can come about.
The work is not complete but we have stability and correctness as a primary goal, and something that is a requirement for us to declare a v1.0.
The app has a built-in mechanism for going back in time (an operations log) which can be used for undoing situations that should not arise in the first place. It can be accessed via the app (there's a history tab) as well as via the CLI https://docs.gitbutler.com/commands/but-oplog
NB - the CLI version of GitButler is not yet at feature parity with the graphical version of the app yet
The work is not complete but we have stability and correctness as a primary goal, and something that is a requirement for us to declare a v1.0.