The github/git workflow is a bit annoying. Having to fork and push to your own github repo means you have to use two remotes. Then if you use a dev machine that doesn't have github access (for security reasons), now you need three remotes.
Conversation
Replying to
It's a GitHub issue rather than a Git issue. Gerrit allows contributors without commit access to push their proposed changes to the main repository directly.
Drastically better performance and review UI. Also properly keeps track of each revision of the changes through rebases.
2
2
For example, this is how you push changes from your feature branch to the upstream repository:
git push origin HEAD:refs/for/branch_name
It uses a pre-commit hook to add a random Change-Id to each commit message and that's how it knows which change is which after rebase.
Replying to
Nifty.
I do wish it was easier to do than me having to do:
git push origin client/ssh-main:refs/heads/ssh-main
I really shouldn't need to do the refs/heads bit when pushing, but I don't know how else to do it.
It's also pretty cool having not just every revision of every proposed change in the upstream Git repository but also the code review as Git notes:
gerrit-review.googlesource.com/Documentation/
Gerrit is really the way Git should work everywhere.
GitHub style workflow/review is really terrible.
1

