Hay dos tipos principales de modelos de desarrollo con los cuales usar las solicitudes de extracción. En el modelo de bifurcación y extracción, cualquiera puede bifurcar un repositorio existente y subir los cambios a su bifurcación personal. No necesitas permiso del repositorio fuente para subir información a una bifurcación que sea propiedad del usuario. El mantenedor del proyecto puede extraer los cambios hacia el repositorio de origen. Cuando abres una solicitud de extracción que proponga cambios desde la bifurcación que es propiedad de tu usuario para ramificar en el repositorio fuente (ascendente), puedes permitir que cualquiera con acceso de escritura en éste haga cambios en dicha solicitud. Este modelo es muy usado con los proyectos de código abierto, ya que reduce la cantidad de fricción para los colaboradores nuevos y le permite a las persona trabajar de forma independiente sin una coordinación inicial.
Sugerencia: 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 Laboratorio de aprendizaje de GitHub sobre cómo mantener comunidades de código abierto.
En el modelo de repositorio compartido, se le otorga a los colaboradores acceso de escritura a un único repositorio compartido y las ramas de tema son creadas cuando es necesario hacer cambios. Las solicitudes de extracción son útiles en este modelo ya que inician la revisión de código y el debate general acerca de un conjunto de cambios antes de que los mismos sean fusionados en la rama de desarrollo principal. Este modelo es más frecuente con las organizaciones y los equipos pequeños que colaboran en proyectos privados.