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.

Platform navigation

Tool navigation

Nota:

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 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, haz clic en Pull requests.

    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 solicitud de incorporación de cambios que desea modificar.

  3. En el cuadro de fusió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 "Open this in GitHub Desktop", está delineado en naranja.

Nota:

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

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 un pull request, GitHub almacena todos los cambios de forma remota. 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 un pull request abierto y recrearlo como propio.

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. Debajo del nombre del repositorio, haz clic en Issues o en Pull requests.

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

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

  3. Busca el número de ID del pull request inactivo. 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 nueva rama basada en este pull request:

    [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](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) 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.