6 * Don't push directly to the `master` branch.
7 * Create a new branch from `master` for new features. For best pratice, prefix it with the name of your service, e.g. `twitter-fix-something`.
8 * Use Merge Requests (MRs) instead of directly pushing to master.
9 * Don't accept your own MRs, unless they are actually minor, like changing a `README` file. Otherwise ask someone else to test it.
14 * Force pushing to remote branches, especially master. It's usually uncessary, just fix your own feature branch.
15 * Rebasing or resetting remote branches. Doing it locally is fine. If you want to undo an already pushed commit, push a revert commit.
16 * Squashing commits. I'm personally fine with it, but I think someone was against it? Not sure if it was a tutor, or not.