I'm looking to improve the processes in our team. We currently are pretty informal: "I've finished feature X. Can you review my code?". This is not scaling up well now that we're busier - it's hard to remember whether a feature has been reviewed or not.

I'm familiar with using pull requests for code reviews when people each have their own remote repository (eg on GitHub). There they fork the source repository, make a change, then issue a pull request to the maintainer of the original source repository.

How does it work when everyone shares the same on-prem remote repository, though? I don't want developers to keep all their work just in their local repos, pushing to the remote only for code reviews, for two reasons:

1) I want a backup of their changes so if something happens to their machine their work isn't lost;

2) Similarly, if something happens to the developer or they're away, we have access to their changes.

We could create remote repositories for each developer but this seems messy. We deal with a couple of dozen repositories so having remotes for each developer seems like a huge waste of space.


A remote can have multiple branches. Can you just configure github to only require pull requests for merges into a specific branch or branches? That way, a developer can push as they please to the remote version of their feature branch while working, and then request the review only when they're ready to merge it back into the main development branch.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.