tag remove remote practices create crear best git github pull-request

remote - git tag remove



¿Cómo aplicar solicitudes de extracción en sentido ascendente no combinadas de otras bifurcaciones a mi horquilla? (6)

Actualización: A través de la página web

También puedes hacerlo a través de la página web de github.

Supongo que ya debería tener una bifurcación ( MyFork ) del repositorio común ( BaseRepo ) que tiene la solicitud de extracción pendiente de una bifurcación ( OtherFork ) que le interesa.

  1. Vaya a la bifurcación ( OtherFork ) que ha iniciado la solicitud de extracción que desea ingresar a su bifurcación ( MyFork )
  2. Ir a la página de solicitudes de OtherFork de OtherFork
  3. Haga clic en nueva solicitud de extracción
  4. Las solicitudes de extracción pendientes deben ofrecerse. Recuerde seleccionar la rama adecuada de OtherFork también. Seleccione en el lado izquierdo como la horquilla de base de su horquilla ( MyFork ) ( IMPORTANTE ).
  5. Ahora la opción de View pull request debería cambiar a Create pull request . Haga clic en este

Ahora debería tener una solicitud de extracción pendiente en su bifurcación ( MyFork ), que simplemente puede aceptar.

Un proyecto en GitHub del que tengo una bifurcación tiene una nueva solicitud de extracción que quiero incluir en mi bifurcación que el autor aún no ha realizado.

¿Hay una forma sencilla de aplicar la solicitud de extracción de otras horquillas a mi horquilla? ¿Hay algo más aquí que me esté perdiendo?


Alguna información más detallada que me funcionó.

Mi archivo .git / config para el repositorio bifurcado se ve así:

[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = false [remote "origin"] url = [email protected]:litzinger/angular-carousel.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master rebase = true [remote "source"] url = git://github.com/revolunet/angular-carousel.git fetch = +refs/heads/*:refs/remotes/source/* fetch = +refs/pull/*/head:refs/remotes/origin/pr/*

Luego ejecute "git fetch source", que luego enumera todas las solicitudes de extracción del repositorio bifurcado.

* [new ref] refs/pull/54/head -> origin/pr/54 * [new ref] refs/pull/67/head -> origin/pr/67 * [new ref] refs/pull/69/head -> origin/pr/69 * [new ref] refs/pull/71/head -> origin/pr/71

Y luego, para fusionar en una solicitud de extracción específica, ejecute "git merge master origin / pr / 67"


Como dijo Tekkub anteriormente, puedes jalar la rama directamente. La mayoría de las veces, con GitHub, la sucursal es simplemente "maestra" en la bifurcación del proyecto del Usuario solicitante.

Ejemplo: git pull https://github.com/USER/PROJECT/ BRANCH


Las solicitudes de extracción para el proyecto pueden provenir de diferentes autores (forks), y probablemente no desee un control remoto separado para cada fork. Además, no desea hacer suposiciones sobre la rama que el autor usó al enviar la solicitud de extracción, o qué más podría haber en la rama principal del autor. Por lo tanto, es mejor hacer referencia a la solicitud de extracción como aparece en el repositorio ascendente, en lugar de como aparece en las otras bifurcaciones.

Paso 1:

git remote add upstream <url>

Probablemente ya hayas hecho este paso, pero si no, querrás un control remoto definido para el proyecto en sentido ascendente. La URL es la URL de clonación del proyecto que bifurcó. Más información en Configuración de un control remoto para una bifurcación y Sincronización de una bifurcación . upstream es el nombre que le está dando al control remoto, y aunque puede ser cualquier cosa, upstream es el nombre convencional.

Paso 2:

git pull upstream refs/pull/{id}/head

... donde {id} es el número de solicitud de extracción. upstream es el nombre del control remoto desde el que se debe extraer, es decir, simplemente "aguas arriba" si siguió exactamente el paso 1. También puede ser una URL, en cuyo caso puede omitir el paso 1.

Paso 3:

Escriba un mensaje de confirmación para la confirmación de fusión. Puede mantener el valor predeterminado, aunque le recomiendo dar un buen resumen de una línea con el número de solicitud de extracción, el problema que soluciona y una breve descripción:

Merge PR#42, fixing VIM-652, support for mapping arbitrary IDEA actions


Lo que yo haría es lo siguiente;

git checkout master git remote add #NAME# #ADDRESS TO REPO# git fetch #USERNAME# git checkout -b test_fork git rebase #NAME#/#BRANCH#

Ahora he fusionado los cambios en una rama de prueba, llamada test_fork . Para que cualquier cambio no ensucie mi árbol.

Opcionalmente, puede usar cherry-pick como se describe anteriormente para elegir un compromiso en particular, si eso es más preferible.

Viajes felices :)


Puedes hacerlo manualmente con bastante facilidad:

  • agrega la otra bifurcación como control remoto de tu repositorio:

    git remote add otherfork git://github.com/request-author/project.git

  • buscar los compromisos de su repo

    git fetch otherfork

  • Tiene dos opciones para aplicar la solicitud de extracción (si no desea elegir la opción 1).

    1. Si no le importa aplicar también las confirmaciones eventuales que se agregaron entre el origen y la solicitud de extracción, puede simplemente volver a escribir la rama en la que se formó la solicitud de extracción

      git rebase master otherfork/pullrequest-branch

    2. Si solo desea las confirmaciones en la solicitud de extracción, identifique su SHA1 y haga

      git cherry-pick <first-SHA1> <second-SHA1> <etc.>