If Gerrit is such a mistake, what can you use instead? Git Flow!
Git Flow is a plugin for Git for managing branches. It is based on the concept of "feature branches", in which each branch is a feature or bug you're working on. Once you finish it, it will just close the branch.
Although there is a lot to be said about Git and how you should use it, the fact is that Git Flow manages a lot of complexity of having a stable branch, an "unstable"/testing branch and all features around those.
Not only that, but with the current source control sites like Github and GitLab, the flow is quite similar -- although working with branches is changed with forks.
You can even install Git Flow and use it on your personal project -- which is something I do with this blog/book!