Usually software should make it hard to do the wrong thing and make it easy to do the right thing. This is git we are talking about so it is fair to expect it to have a poor UX.
> wrong thing
Rebase/reset are major and first class features of Git. It's only wrong if you work with a team that expect the centralized server to be consistent.
You are assuming git's design is good. Being a first class feature does not mean much if the feature doesn't work towards the user's goals.
For me this is a feature, and so it should be for you as well. Freedom, responsibility..