La terminología utilizada para fusionar una rama con un repositorio oficial es una 'solicitud de extracción'. Esto es confuso, ya que parece que estoy solicitando que envíe mis cambios al repositorio oficial.
¿Por qué se llama una solicitud de extracción y no una solicitud de inserción?
git
github
pull-request
Alejandro Sanz Díaz
fuente
fuente
git push
. Para mí eso lo dice todo ... (sí, pueden emitir git pull, luego git push, pero el empuje fue solicitado y es lo que finalmente se está haciendo)merge requests
. Mucho más claro, en mi humilde opinión. :)Respuestas:
Si tiene un cambio de código en su repositorio y desea moverlo a un repositorio de destino, entonces:
git push
).git pull
del otro repositorio).Una "solicitud de extracción" es que solicita el repositorio de destino para obtener sus cambios.
Una "solicitud de inserción" sería el repositorio de destino que le solicita que envíe sus cambios.
fuente
Cuando envía una solicitud de extracción, está solicitando (solicitando) al propietario del repositorio oficial que extraiga algunos cambios de su propio repositorio. Por lo tanto, "solicitud de extracción".
fuente
tl; dr ya que no se me permite hacer un esfuerzo, simplemente haré una solicitud al propietario del repositorio para que decida retirar
¿Quién puede enviar código a un repositorio?
Si alguien (posiblemente malvado, inculto o desconocido) pudiera venir y decir aquí, simplemente envié esto a su rama maestra y estropeé todo su código ¡JAJAJA! ?
Seguramente no quieres que haga eso. De manera predeterminada, se establece una red de seguridad para que nadie pueda presionar a su repositorio. Usted puede configurar otros como colaborador , entonces pueden empujar. Le daría acceso a personas de su confianza.
Entonces, si no eres un colaborador e intentas impulsar, recibirás un error que indica que no tienes permiso.
Entonces, ¿cómo pueden otros desarrolladores presionar a un repositorio que no tienen permiso para presionar?
No puede dar acceso a todos, sin embargo, desea dar a otros un punto de salida / entrada para que puedan hacer 'una solicitud al propietario del repositorio para que extraiga este código en el repositorio'. En pocas palabras, haciendo que el repositorio sea accesible, pueden bifurcarlo ... hacer sus cambios en su propio tenedor. Empuje sus cambios a su propio tenedor . Una vez que esté en su en su propio repositorio remoto:
Realizan una solicitud de extracción desde su bifurcación y el propietario del repositorio ascendente (al que no puede presionar directamente) decidirá si fusiona o no la solicitud de extracción.
También una pregunta semi-relacionada que recomiendo leer ¿Qué sucede exactamente en un git push? ¿Por qué un impulso de git no se considera como una fusión de git?
fuente
Solicitud de extracción : le solicito que extraiga la mía.
fuente
I >>> You
- Estás cambiando el punto de referencia dos veces en el mismo contexto ... en lugar deI >>>> You <<<< Mine
Quiero enviar algo al repositorio de otra persona.
No tengo permiso para empujar (o tirar, para el caso).
El propietario / colaboradores tiene permisos. Pueden tirar y empujar. No puedo empujar
Por lo tanto, les pido que realicen un tirón de mí, lo que indirectamente significa que les estoy pidiendo que acepten mi empuje.
Por lo tanto, no hay solicitud de empuje. Solo por un tirón. Y por la aceptación de un empujón.
Por lo tanto, una solicitud 'pull'. Y no una solicitud de "empuje".
fuente
Es la palabra "Solicitud" que es clave en estas acciones. También podría pensar que dice "Tengo una solicitud para que acepte mi trabajo, ¿acepta?" - "Una solicitud de extracción".
Al principio es un poco confuso, pero finalmente tiene sentido.
fuente
Para entender esto mejor y recordarlo para siempre, debes imaginarlo.
Imagine un árbol grande y vivo {como su repositorio}. El árbol es demasiado resistente para que pueda insertar una rama o agregar una nueva parte en él {simboliza la creación de una nueva rama o usted insertando código en ella}, en su lugar, debe pedirle al árbol que tire de una rama en el tronco o que cambios de ti.
El término "solicitudes de extracción" proviene de la naturaleza distribuida. En lugar de simplemente insertar sus cambios en el repositorio (como lo haría con un repositorio centralizado, por ejemplo, con Subversion), está publicando sus cambios por separado y le pide al encargado que los incorpore. El mantenedor luego puede revisar los cambios y hacer dicha extracción.
Básicamente, básicamente "solicita" a los chicos con acceso de escritura al repositorio al que desea contribuir, que "tire" de su repositorio.
Las solicitudes de extracción le permiten informar a otros sobre los cambios que ha introducido en una rama en un repositorio en GitHub. Una vez que se abre una solicitud de extracción, puede analizar y revisar los posibles cambios con los colaboradores y agregar confirmaciones de seguimiento antes de que sus cambios se fusionen en la rama base. Explicación de Github
fuente
Creo que es una terminología tonta porque quiero pensar que yo quiero empujar algo a usted y no pensando viceversa pide que alguien tire de la mina addings. Por lo tanto, debe cambiarse a PUSH REQ. ya que soy la parte activa La flecha va hacia el otro lado comenzando por mí y no por el Goofy en el otro extremo. EN MI HUMILDE OPINIÓN.
fuente
Piensa de esta manera. Repositorio local vs repositorio remoto.
git push
) - en otras palabras, el repositorio remoto está extrayendo códigos de usted (local).Estás pidiendo algo. Entonces, pregúntate a ti mismo,
fuente
Me temo que la mayoría de estas respuestas abordan la pregunta ¿Qué significa 'solicitud de extracción'? o ¿Qué significaría "solicitud de inserción"? en lugar de la pregunta del OP: ¿Por qué se llama una solicitud de extracción y no una solicitud de inserción?
Normalmente, este tipo de reemplazo de preguntas es aceptable, pero en este caso está claro que el OP conoce las respuestas a estas preguntas de reemplazo, por lo que responderlas no es muy útil.
Solo las personas en GitHub que acuñaron el término lo saben con certeza. Sin embargo, parece evidente que esta elección terminológica refleja algo así como el siguiente punto de vista con respecto al fenómeno de "los cambios que llegan a un repositorio desde afuera": El responsable realiza la acción (pull) .
Sin embargo, una solicitud también es una acción, y quien realiza esa acción no es el responsable sino el remitente (que ha realizado aún más acciones, es decir, trabajo). Por lo tanto, el término 'solicitud de extracción' crea confusión sobre quién es el agente . En última instancia, la confusión surge debido a la naturaleza recursiva de una solicitud: una solicitud es tanto una acción de un agente primario como una solicitud de una acción futura de un segundo agente.
La situación es bastante análoga a las construcciones lingüísticas ahora comunes como "construimos nuestra casa" (utilizada en lugar de "le pagamos a alguien más para construir nuestra casa"), en la que la responsabilidad de la acción primaria se traslada del agente original obvio a un agente secundario que cumple un rol social gerencial.
Se podría concluir de esto que la razón de la elección terminológica es la legitimación del punto de vista de que el trabajo gerencial es trabajo de primera clase . Además, la razón de la confusión acerca de esta elección terminológica puede ser que los trabajadores no gerentes tienen naturalmente un punto de vista diferente.
fuente