Fork and pull model
In the fork and pull model, anyone can fork an existing repository and push changes to their personal fork. You do not need permission to the source repository to push to a user-owned fork. The changes can be pulled into the source repository by the project maintainer. When you open a pull request proposing changes from your user-owned fork to a branch in the source (upstream) repository, you can allow anyone with push access to the upstream repository to make changes to your pull request. This model is popular with open source projects as it reduces the amount of friction for new contributors and allows people to work independently without upfront coordination.
Tip: Para obtener más información sobre el código abierto, específicamente sobre como crear y hacer crecer un proyecto de código abierto, hemos creado unas Guías de Código Abierto que te ayudarán a fomentar una comunidad saludable. También puedes tomar un curso gratuito de Habilidades de GitHub sobre cómo mantener comunidades de código abierto.
Shared repository model
In the shared repository model, collaborators are granted push access to a single shared repository and topic branches are created when changes need to be made. Pull requests are useful in this model as they initiate code review and general discussion about a set of changes before the changes are merged into the main development branch. This model is more prevalent with small teams and organizations collaborating on private projects.