git - upstream - pull request vs merge request
¿Por qué una "solicitud de extracción" de git no se denomina "solicitud de inserción"? (5)
La terminología utilizada para fusionar una sucursal con un repositorio oficial es una "solicitud de extracción". Esto es confuso, ya que parece que estoy solicitando enviar mis cambios al repositorio oficial.
¿Por qué se llama una solicitud de extracción y no una solicitud de inserción?
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".
Es la palabra "Solicitud" que es clave en estas acciones. También puede pensar que dice "Tengo una solicitud para que aceptes mi trabajo, ¿aceptas?" - "Una solicitud de extracción".
Es un poco confuso al principio, pero finalmente tiene sentido.
Si tiene un cambio de código en su repositorio y desea moverlo a un repositorio de destino, entonces:
- "Push" hace que los cambios estén presentes en el repositorio de destino (
git push
). - "Pull" es el repositorio de destino que captura tus cambios para que estén presentes allí (
git pull
del otro repositorio).
Una "solicitud de extracción" es que solicite el repositorio de destino para capturar los cambios.
Una "solicitud de inserción" sería el repositorio de destino que solicita que envíe sus cambios.
Solicitud de extracción: Solicito que extraigas la mía.
tl; dr, ya que no tengo permiso para hacer un empujón, simplemente haré una solicitud al propietario del repositorio para que decidan tirar
¿Quién puede empujar el código a un repositorio?
En caso de que alguien (posiblemente malvado, sin educación o desconocido) pueda venir y decir aquí, simplemente puse esto en su sucursal maestra y arruiné todo su código ¡HAHAHA! ?
Seguramente no quieres que él haga eso. Por defecto, se establece una red de seguridad para que nadie pueda ingresar a su repositorio. Puedes establecer a otros como un colaborador , luego pueden presionar. Daría ese acceso a personas de confianza.
Entonces, si no eres un colaborador e intentas presionar, obtendrás un error que indica que no tienes permiso.
Entonces, ¿cómo pueden otros desarrolladores empujar a un repositorio al que no se les ha dado permiso para empujar?
No puede dar acceso a todos, sin embargo, desea darles a los demás un punto de entrada / salida para que puedan hacer "una solicitud al propietario del repositorio para que introduzca este código en el repositorio".
Al final hacen esa solicitud de extracción desde su fork y el propietario decidirá si fusionar o no la solicitud.
También una pregunta semi-relacionada que recomiendo leer ¿Qué sucede exactamente en un impulso de Git? ¿Por qué no se considera un empujón git como una fusión de git?