Revisar solicitudes de extracción localmente
Cuando alguien te envía una solicitud de extracción desde una bifurcación o rama de tu repositorio, es posible que desees fusionarla para resolver un conflicto de fusión o para probar y verificar los cambios en tu computadora local antes de fusionarla en GitHub.
Nota: Puedes solicitar a la persona que creó la solicitud de extracción que permita que alguien con acceso de escritura al repositorio ascendente suba las confirmaciones a su solicitud de extracción para ayudarlo a fusionar el trabajo más rápido. Para más información, consulta "Permitir cambios en una rama de solicitud de extracción creada desde una bifurcación"
Modificar una solicitud de extracción activa localmente
-
En el nombre de tu repositorio, haz clic en Solicitudes de extracción.
-
En la lista de solicitudes de extracción, haz clic en la solicitud de extracción que deseas fusionar.
-
Cerca de la parte inferior de la solicitud de extracción, en el cuadro de fusión, haz clic en command line instructions (instrucciones de la línea de comando). Sigue la secuencia de pasos para disminuir la solicitud de extracción propuesta.
-
Opcionalmente, para ver los cambios propuestos en GitHub Desktop, haz clic en open this in GitHub Desktop (Abrir en el escritorio de GitHub).
Modificar una solicitud de extracción inactiva localmente
Una solicitud de extracción inactiva es una cuyo propietario ha dejado de responder o, más probablemente, ha eliminado su bifurcación. Si ha eliminado una bifurcación, la solicitud de extracción puede estar fusionada. 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 abierta una solicitud de extracción, GitHub almacena todos los cambios en línea para ti. En otras palabras, las confirmaciones en una solicitud de extracción están disponibles en un repositorio antes de que se fusione el PR. Eso significa que puedes extraer una solicitud de extracción abierta y recrearla como propia.
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.
-
En el nombre de tu repositorio, haz clic en Propuestas o Solicitudes de extracción.
-
En la lista "Pull Requests" (Solicitudes de extracción), haz clic en la solicitud de extracción que deseas fusionar.
-
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.
-
Abre el terminal TerminalTerminalGit Bash.
-
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:BRANCHNAME
-
Switch to the new branch that's based on this pull request:
[master] $ git checkout BRANCHNAME> Switched to a new branch 'BRANCHNAME'
-
En este punto, puedes hacer lo que desees con esta rama. You can run some local tests, or merge other branches into it, including
master
. Realiza las modificaciones que creas necesarias. -
When you're ready, you can push the new branch up:
[pull-inactive-pull-request] $ git push origin BRANCHNAME> Counting objects: 32, done. > Delta compression using up to 4 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://nombre de host/username/repository.git > * [new branch] BRANCHNAME -> BRANCHNAME
-
Create a new pull request with your new branch.
Error: Failed to push some refs
The remote refs/pull/
namespace is read-only. If you try to push any commits there, you'll see this 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: Cuando alguien elimina o cambia el nombre de una referencia remota, tu espacio de nombre refs/pull/origin/
local no se verá afectado por las llamadas a git-remote
.