The main reason I use git is it allows me to make mistakes without hard consequences. Any fuckup is just one reset away from being fixed. I like to: I have to fix this thing. While attempting to fix it I discover there is another thing that needs fixing on which everything revolves. I fix the second thing and commit. I'm now free to fuck around the code all I want and I'm sure I won't lose that fix.
For this I really like to use --fixup when I find out the change was not completely right or does not fit well with some other changes I need to do. I really like git absorb which automates this a bit.
The transportation company is not responsible if passengers break the windows of the car and flatten their tires. I guess doing this a couple of times and the newspapers reporting crazy team users destroying cars on the path of the train will fix the issue.