Hot fixes go straight onto master. Everything else should be done in a feature branch that will get merged into master.
Set autosetuprebase to avoid lots of little merges in new branches:
git config --global branch.autosetuprebase always
If a repo was cloned before enabling the above, set each of its branches to use rebase. E.g. for master
: