Fork & Pull Workflow

Even when you work with only two people, we highly recommend the "Fork & Pull" development model. From the GitHub help on pull requests:

The fork & pull model lets anyone fork an existing repository and push changes to their personal fork without requiring access be granted to the source repository. The changes must then be pulled into the source repository by the project maintainer. This model reduces the amount of friction for new contributors and is popular with open source projects because it allows people to work independently without upfront coordination.

The advantages are also true for projects with close collaboration, i.e. where there is a lot of upfront coordination, maybe even within the same office space:

  • Everybody can do what they want within their fork.
  • Changes to the main repo can be discussed and reviewed within the pull requests.
  • Access control to the main repository are with the project maintainer.
  • Pull requests work between any of the forks.

Bootcamp articles:

Further reading: