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 Enterprise Server.

¿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

Note

Solo los creadores de solicitudes de cambios pueden otorgar a los mantenedores del repositorio de subida o a aquellos con acceso para enviar cambios al repositorio de subida, permiso para realizar confirmaciones en la rama de comparación de su solicitud de cambios en una bifurcación propiedad de un usuario. Para más información, consulta 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. En el cuadro de combinación, haga clic en instrucciones de la línea de comandos. Sigue la secuencia de pasos para disminuir la solicitud de extracción propuesta.

    Captura de pantalla del cuadro de combinación en una solicitud de incorporación de cambios. El vínculo para acceder a las instrucciones de la solicitud de incorporación de cambios de la línea de comandos está resaltado en naranja oscuro.

  4. De manera opcional, para ver los cambios propuestos en GitHub Desktop, al lado del botón Combinar solicitud de incorporación de cambios, haga clic en abrir esto en GitHub Desktop .

    Captura de pantalla de la sección "Combinar mensajes" en una página de solicitud de incorporación de cambios. Un vínculo con la etiqueta "Abrir en El escritorio de GitHub" resaltado en naranja.

Note

Para más información sobre GitHub CLI,consulte «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 Enterprise Server 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://HOSTNAME/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'

Tip

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.