trucos tag name create conectar con commits commands comentarios git github pull-request git-checkout

name - github tags



¿Cómo puedo ver una solicitud de extracción de GitHub? (11)

Accidentalmente terminé escribiendo casi lo mismo provisto por git-extras. Entonces, si prefiere un solo comando personalizado en lugar de instalar un montón de otros comandos adicionales, simplemente coloque este archivo git-pr en algún lugar de su $PATH y luego simplemente escriba:

git pr 42 // or git pr upstream 42 // or git pr https://github.com/peerigon/phridge/pull/1

Me gustaría verificar una solicitud de extracción creada previamente (creada a través de la interfaz web de GitHub). Busqué y encontré diferentes lugares donde un refs / pull o refs / pull / pr

Pero cuando agrego fetch = +refs/pull/*/head:refs/remotes/origin/pr/* al archivo de configuración de git y hago una búsqueda de git

¿Qué estoy haciendo mal? ¿Debería GitHub crear automáticamente las cosas pull / xyz, o tengo que configurar algo?


El problema con algunas de las opciones anteriores es que si alguien realiza más commits al PR luego de abrir el PR, no le darán la versión más actualizada. Para mí, lo que funcionó mejor es ir a PR y presionar ''Commits'', desplazarse hasta la parte inferior para ver el hash commit más reciente. y luego simplemente use git checkout, es decir,

git checkout <commit number>

en el ejemplo anterior

git checkout 0ba1a50


En referencia a la respuesta de Steven Penny, es mejor crear una rama de prueba y probar el RP. Entonces esto es lo que harías.

  1. Crea una rama de prueba para fusionar el PR en local. Asumiendo que estás en la rama principal:

git checkout -b test

  1. Obtenga los cambios de relaciones públicas en la rama de prueba

git pull origin pull/939/head:test

Ahora, puede probar los cambios de forma segura en esta rama de prueba local (en este caso, prueba nombrada) y una vez que esté satisfecho, puede combinarlo como siempre desde GitHub.


Esto se recuperará sin tener que nombrar una rama:

git pull origin pull/939/head

¿Cómo obtengo una solicitud de extracción específica en mi máquina?


Para Bitbucket, necesita reemplazar la palabra pull para pull-requests .

En primer lugar, puede confirmar el estilo de URL de solicitud de extracción mediante el git ls-remote origin .

$ git ls-remote origin |grep pull f3f40f2ca9509368c959b0b13729dc0ae2fbf2ae refs/pull-requests/1503/from da4666bd91eabcc6f2c214e0bbd99d543d94767e refs/pull-requests/1503/merge ...

Como puede ver, es refs/pull-requests/1503/from lugar de refs/pull/1503/from

Entonces puedes usar los comandos de cualquiera de las respuestas.


Para buscar un RP remoto en su repositorio local,

git fetch origin pull/ID/head:BRANCHNAME

donde ID es la identificación de solicitud de extracción y nombre de rama es el nombre de la nueva rama que desea crear. Una vez que haya creado la rama, simplemente

git checkout BRANCHNAME


Prefiero buscar y pagar sin crear una sucursal local y estar en HEAD estado desconectado . Me permite comprobar rápidamente la solicitud de extracción sin contaminar mi máquina local con sucursales locales innecesarias.

git fetch upstream pull/ID/head && git checkout FETCH_HEAD

donde ID es un ID de solicitud de extracción y upstream donde se crea la solicitud de extracción original (podría ser origin , por ejemplo).

Espero que ayude.


Puede usar el comando git config para escribir una nueva regla en .git/config para obtener solicitudes de extracción del repositorio:

$ git config --local --add remote.origin.fetch ''+refs/pull/*/head:refs/remotes/origin/pr/*''

Y luego solo:

$ git fetch origin Fetching origin remote: Counting objects: 4, done. remote: Compressing objects: 100% (2/2), done. remote: Total 4 (delta 2), reused 4 (delta 2), pack-reused 0 Unpacking objects: 100% (4/4), done. From https://github.com/container-images/memcached * [new ref] refs/pull/2/head -> origin/pr/2 * [new ref] refs/pull/3/head -> origin/pr/3


Si está siguiendo el flujo de trabajo "github fork", donde crea una bifurcación y agrega el repositorio remoto de subida:

14:47 $ git remote -v origin [email protected]:<yourname>/<repo_name>.git (fetch) origin [email protected]:<yourname>/<repo_name>.git (push) upstream [email protected]:<repo_owrer>/<repo_name>.git (fetch) upstream [email protected]:<repo_owner>/<repo_name>.git (push)

para ingresar a su rama actual, su comando se vería así:

git pull upstream pull/<pull_request_number>/head

para ingresar a una nueva sucursal, el código sería:

git fetch upstream pull/<pull_request_number>/head:newbranch


Si está utilizando Github.com, vaya a "Solicitudes de extracción", haga clic en la solicitud de extracción correspondiente y luego haga clic en el enlace "Instrucciones de línea de comando":


Esa esencia describe lo que sucedió cuando haces una búsqueda de git:

Obviamente, cambie la url github para que coincida con la URL de su proyecto. Termina luciendo así:

[remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = [email protected]:joyent/node.git fetch = +refs/pull/*/head:refs/remotes/origin/pr/*

Ahora busca todas las solicitudes de extracción:

$ git fetch origin From github.com:joyent/node * [new ref] refs/pull/1000/head -> origin/pr/1000 * [new ref] refs/pull/1002/head -> origin/pr/1002 * [new ref] refs/pull/1004/head -> origin/pr/1004 * [new ref] refs/pull/1009/head -> origin/pr/1009 ...

Para ver una solicitud de extracción en particular:

$ git checkout pr/999 Branch pr/999 set up to track remote branch pr/999 from origin. Switched to a new branch ''pr/999''

Tiene varios scripts enumerados en los problemas 259 para automatizar esa tarea.
El proyecto git-extras propone el comando git-pr (implementado en PR 262 )

git-pr (1) - Comprueba una solicitud de extracción localmente

SINOPSIS

git-pr <number> [<remote>] git-pr clean

DESCRIPCIÓN

Crea una rama local basada en un número de solicitud de extracción de GitHub, y luego cambia a esa rama.

El nombre del control remoto desde el que se va a recuperar. Predeterminado a origin

EJEMPLOS

Esto verifica la solicitud de extracción 226 desde el origin :

$ git pr 226 remote: Counting objects: 12, done. remote: Compressing objects: 100% (9/9), done. remote: Total 12 (delta 3), reused 9 (delta 3) Unpacking objects: 100% (12/12), done. From https://github.com/visionmedia/git-extras * [new ref] refs/pull/226/head -> pr/226 Switched to branch ''pr/226''