Your comments

I see, thanks. I did not know about this (it is quite hidden). I have tried the Gerrit support and I still think it could be improved.


For example, we want to push all branches to `refs/for/master` regardless of local branch name. I often have many local branches named by features I am working on but they all should merge to master. Currently, SmartGit only allows me to push to `refs/for/<branch name>` automatically.


So this unfortunately does not solve my initial pain.

Thanks for your answer. CL is a Change List. It is a commit that you send for review (https://www.gerritcodereview.com/).


Squashing is not that bad, I was thinking to have a button that does "squash last two commits" but that's just a nit.


The pushing to Gerrit is the trouble. Gerrit requires all pushes to be to custom refs like "refs/for/master" for CL that goes to master.