Without derailing too much this wonderful discussion, I would like to make a comment on lost commits/code.
IMHO git is not a backup solution, its a version control system. sometimes we forgot this simple but important tiny thing so freq commits (even on a local cloned repo or branch) is really useful and copy/merge/rebase/rewrite/whatever when ready to master.
Evaggelos Balaskas https://www.linkedin.com/in/evaggelosbalaskas