from - Git Pull vs. Pull Request
git workflow (2)
Soy nuevo en el uso de Git, así que me disculpo si esto es trivial. Tengo un repositorio privado configurado usando Github y EGit .
Para actualizar y fusionar mi rama de repositorio local con la versión remota (esencialmente un git pull
), uso Team > Pull
in Eclipse.
Para fusionar una rama en la rama principal, tengo que solicitar y posteriormente aprobar una solicitud de extracción en Github.
¿Cuál es la diferencia entre llamar a
git pull
y enviar una solicitud de extracción ?
He visto que esto está relacionado con un modelo de desarrollo colaborativo Fork and Pull y se usa para revisiones de códigos . Creo que entiendo la motivación y la utilidad de una solicitud de extracción, pero ¿qué es exactamente?
Si usas git pull
, extraes los cambios del repositorio remoto al tuyo.
Si envía una solicitud de extracción a otro repositorio, le pide a sus responsables que transfieran sus cambios a los suyos (más o menos les pide que utilicen un git pull
de su repositorio).
Si usted es el mantenedor de ese repositorio, parece que lo está haciendo un poco más difícil al pretender que juega dos roles en ese flujo de trabajo. También podría fusionar localmente su rama de desarrollo en su rama principal e insertar esa rama maestra en su repositorio de GitHub directamente.
(Como nota al margen, si eres nuevo en Git, te sugiero usar git fetch
y luego git merge
lugar de git pull
. git pull
es efectivamente git fetch
seguido de git merge
, pero hacerlo por separado te da un mejor control sobre conflictos potenciales)
Una solicitud de extracción solicita al responsable de mantenimiento de un repositorio que git pull
algunos cambios (como ya sugiere el nombre). GitHub proporciona una interfaz adicional fácil de usar que simplifica la revisión de dicha solicitud.
No necesita usarlo para fusionarse en alguna rama. Pero puede usarlo y puede ser útil volver a verificar si todos los cambios están listos para fusionarse. Si no quiere o no necesita esa seguridad adicional, simplemente puede git merge
la rama.
git
también tiene un comando que crea una solicitud de extracción, diseñada para el uso en listas de correo. Puede solicitar la generación con el comando git request-pull
. De hecho, se requiere entregar una solicitud de extracción para algunos proyectos usando este comando. El resultado del comando es similar a esto (tomado here ):
$ git request-pull origin/master myfork
The following changes since commit 1edee6b1d61823a2de3b09c160d7080b8d1b3a40:
John Smith (1):
added a new function
are available in the git repository at:
git://githost/simplegit.git featureA
Jessica Smith (2):
add limit to log function
change log output to 30 from 25
lib/simplegit.rb | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)