There's a reason why remote.<name>.pushurl feels wrong. If one remote has a different push from pull, there should be something corresponding to refs/remotes/* for push (and the equivalent of fetch for updating it). Second, I can't even diff between a branch on my push URL and a local branch: the [ahead 1, behind 1] in status output really doesn't make sense if the repository you're pushing to is different from the one you're pulling from. In contrast, if you take what I proposed, refs/remotes/{upstream, mine}/* already exist, and it's easy to diff them with the corresponding local branch. And yes, a regular `git push origin refs/for/master` is just retarded. I don't personally use Gerrit, but the people who do should not have to suffer. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html