¿Qué es exactamente una solicitud de extracción?

Esto se deriva de mi pregunta anterior: ¿Puedo seleccionar quién puede contribuir a mi proyecto de código abierto?

Como nunca antes había trabajado en software de código abierto, y desarrollando mis propias mini aplicaciones que espero lanzar en la App Store a veces este verano, «no estoy familiarizado con la forma en que la mayoría del código abierto Las estructuras de desarrollo están configuradas (bifurcaciones, repositorios principales …).

Una cosa que apareció fue la mención de una solicitud de extracción. ¿Qué es exactamente una solicitud de extracción?

Respuesta

El término «solicitud de extracción» proviene de git, donde git pull se usa para fusionar un repositorio diferente en el local. Por lo tanto, si alguien más tiene una copia de su git repositorio y le hace los cambios que le gustaría que usted para incorporar, pueden pedirle que pull los cambios de su repositorio; ellos «re solicitar un pull, de ahí el término» solicitud de extracción «.

Hoy en día, para la mayoría de los usuarios, esto tiende a estar oculto detrás de una interfaz gráfica de algún tipo, en Github o Bitbucket o mediante Gerrit, por ejemplo; pero el principio sigue siendo el mismo: alguien copia su repositorio, realiza cambios y solicita que se combinen en su propia copia, presumiblemente después de que los haya revisado.

Comentarios

  • Git también tiene un comando git request-pull . Esto produce un mensaje escrito que puede enviar a otra persona, invitándolos a usar git pull para incorporar su trabajo en su copia del software.
  • No se puede explicar con más claridad para principiantes.

Respuesta

Si tiene sistemas control de versiones distribuido , cada desarrollador tiene una copia del repositorio completo. Si cambia algo en el software, confirma sus cambios en su repositorio local. Si diferentes repositorios deben tener estos cambios, puede enviar los cambios (moviendo los cambios a otro repositorio, tiene el derecho para escribir) o extraer los cambios (copiar revisión para m otros repositorios al suyo). Como muchos proyectos tienen un repositorio principal, una solicitud de extracción es la solicitud de que el mantenedor extraiga los cambios.

Leyendo un poco , parece que el término también se usa en el control de versiones no distribuido, si un usuario solicita la inclusión de sus parches en la rama principal del proyecto. Otra lectura especialmente para github: https://help.github.com/articles/using-pull-requests/

Respuesta

Una solicitud de extracción está relacionada con los sistemas de control de versiones. Puede tener varios conjuntos de usuarios:

  • Administradores / Propietarios
  • Colaboradores
  • Verificadores

Que desee cada una de estas personas para poder hacer cosas diferentes:

  • Administradores / Propietarios
    Se puede confiar en estas personas. Es posible que tengan acceso completo al repositorio en cuestión, incluidos todos los derechos para enviar lo que quieran cuando quieran.
  • Colaboradores
    Pueden ser personas al azar de Internet; pueden ser personas menores en una empresa. De cualquier manera, es probable que no desee que puedan comprometerse directamente con el código base; primero debe revisar sus cambios.

Aquí es donde entran las solicitudes de extracción. En lugar de permitir cambios directos en la base de código de sus colaboradores, en su lugar bifurcarán el repositorio, crearán una copia en su máquina local y lo desarrollarán. Cuando terminen, pueden crear una solicitud de extracción que contenga su código. Alguien en el grupo superior puede revisar sus cambios para verificar su corrección y complicidad con los estándares, y fusionar sus cambios si cumplen.

Comentarios

  • Un poco fuera de tema, pero incluso aquellas personas que pueden fusionar directamente sus propios cambios deben enviar PR para que sus compañeros las revisen. Suponiendo que ' estás trabajando en un equipo. Si ' no lo está, supongo que ' es lo que CodeReview es para.
  • OK. Entonces, los pasos son: bifurca el repositorio principal, lo lleva a su PC, lo modifica, lo confirma y lo envía a su rama bifurcada y luego solicita al administrador que extraiga y fusione desde su rama bifurcada en la principal.

Respuesta

Una solicitud de extracción (PR) es un método para enviar contribuciones a un proyecto de desarrollo abierto. Ocurre cuando un desarrollador solicita que los cambios comprometidos en un repositorio externo se consideren para su inclusión en el repositorio principal de un proyecto después de la revisión por pares.

Fuente: ¿Qué es una solicitud de extracción? en OSS Watch

Ejemplo simple es cuando clona / bifurca el repositorio de código abierto, hace algunos cambios / confirmaciones y para fusionar los cambios en el repositorio principal, debe enviar la solicitud de extracción que consiste en todas sus confirmaciones agrupadas en una pieza lógica para que pueda ser revisado por otros desarrolladores.

Esto tiene algunos beneficios sobre las confirmaciones y empujes estándar, ya que tiene un par de ojos adicionales para verificar y evitar problemas comunes / ocultos / errores antes de los cambios reales.

Vea algunos ejemplos de relaciones públicas:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *