Skip to main content

Revisar solicitudes de extracción localmente

Cuando alguien te manda una solicitud de extracción desde una bifurcación o rama de tu repositorio, puedes fusionarla localmente para resolver un conflicto de fusión o para probar y verificar los cambios antes de fusionarlos en GitHub.

¿Quién puede utilizar esta característica?

Anyone with write access to a repository can pull a remote pull request down locally.

Platform navigation

Tool navigation

Nota: Solo los creadores de solicitudes de incorporación de cambios pueden otorgar permisos a los mantenedores del repositorio ascendente, o a aquellos con acceso de inserción en ese repositorio, a fin de realizar confirmaciones en la rama de comparación de sus solicitudes de incorporación de cambios en una bifurcación propiedad de un usuario. Para obtener más información, vea «Permitir cambios para una rama de solicitud de extracción creada desde una bifurcación».

Modificar una solicitud de extracción activa localmente

  1. En el nombre del repositorio, haga clic en Solicitudes de incorporación de cambios.

    Captura de pantalla de la página principal de un repositorio. En la barra de navegación horizontal, una pestaña, con la etiqueta "Solicitudes de incorporación de cambios", se destaca en naranja oscuro.

  2. En la lista de solicitudes de incorporación de cambios, haga clic en la que quiera modificar.

  3. Para elegir dónde te gustaría abrir la solicitud de incorporación de cambios, selecciona el menú desplegable Código y haz clic en una de las pestañas.

    Captura de pantalla de un título de solicitud de incorporación de cambios. Un botón con una flecha que indica un menú desplegable, con la etiqueta "Código", está resaltado en naranja oscuro.

Para más información sobre GitHub CLI, consulta "Acerca del CLI de GitHub".

Para extraer una solicitud de incorporación de cambios localmente, use el subcomando gh pr checkout. Reemplace pull-request por el número, la dirección URL o la rama principal de la solicitud de incorporación de cambios.

gh pr checkout PULL-REQUEST

Modificar una solicitud de extracción inactiva localmente

Si el autor de una solicitud de incorporación de cambios no responde a las solicitudes o ha eliminado su bifurcación, los cambios propuestos en esa solicitud de incorporación de cambios se pueden combinar a través de una nueva solicitud de incorporación de cambios. Sin embargo, si deseas realizar cambios a una solicitud de extracción y el autor no responde, necesitarás realizar algunos pasos adicionales para actualizar la solicitud de extracción.

Una vez que se abre una solicitud de extracción, GitHub almacena todos los cambios remotamente. Es decir, Los repositorios cuentan con confirmaciones de cambios en una solicitud de extracción aún antes de que esta solicitud se fusione. Puedes extraer una solicitud y recrearla como tuya.

Cualquier persona puede trabajar con una solicitud de extracción abierta anteriormente para seguir trabajando en ella, probarla o incluso abrir nuevas solicitud de extracción con cambios adicionales. Sin embargo, solo los colaboradores con acceso de escritura pueden fusionar las solicitudes de extracción.

  1. En el nombre del repositorio, haga clic en Incidencias o Solicitudes de incorporación de cambios.

    Captura de pantalla de la página principal de un repositorio. En la barra de navegación horizontal, dos pestañas, con la etiqueta "Incidencias" y "Solicitudes de incorporación de cambios", se destacan en naranja oscuro.

  2. En la lista "Pull Requests" (Solicitudes de extracción), haz clic en la solicitud de extracción que deseas fusionar.

  3. Busca el número de la ID de la solicitud de extracción inactiva. Esta es la secuencia de dígitos inmediatamente después del título de la solicitud de extracción.

    Captura de pantalla del título de una solicitud de incorporación de cambios. El número de identificador de la solicitud de incorporación de cambios está resaltado en naranja oscuro.

  4. Abra TerminalTerminalGit Bash.

  5. Extrae la referencia de la solicitud de extracción en función de su número de ID, creando una nueva rama en el proceso.

    git fetch origin pull/ID/head:BRANCH_NAME
    
  6. Cambia a la rama nueva que está basada en esta solicitud de extracción:

    [main] $ git switch BRANCH_NAME
    > Switched to a new branch 'BRANCH_NAME'
    
  7. En este punto, puedes hacer lo que desees con esta rama. Puedes ejecutar algunas pruebas locales o fusionar otras ramas en esta rama.

  8. Cuando estés listo, puedes subir la rama nueva:

    [pull-inactive-pull-request] $ git push origin BRANCH_NAME
    > Counting objects: 32, done.
    > Delta compression using up to 8 threads.
    > Compressing objects: 100% (26/26), done.
    > Writing objects: 100% (29/29), 74.94 KiB | 0 bytes/s, done.
    > Total 29 (delta 8), reused 0 (delta 0)
    > To https://github.com/USERNAME/REPOSITORY.git
    >  * [new branch]      BRANCH_NAME -> BRANCH_NAME
    
  9. Cree una solicitud de incorporación de cambios con la nueva rama.

Error: Error al subir algunas referencias

El espacio de nombres refs/pull/ remoto es de solo lectura. Si intentas subir alguna confirmación allí, verás este error:

! [remote rejected] HEAD -> refs/pull/1/head (deny updating a hidden ref)
error: failed to push some refs to 'git@github.local:USERNAME/REPOSITORY.git'

Sugerencia: Al quitar o cambiar el nombre de una referencia remota, el espacio de nombres refs/pull/origin/ local no se verá afectado por las llamadas a git-remote.