¿Clon de GitHub de la request de extracción?

Me gustaría clonar un repository de GitHub. El problema es que no quiero la twig principal; Quiero la versión en esta request de extracción no aprobada .

¿Es posible para mí clonar la versión de request de extracción en lugar del repository principal?

Puede clonar la twig que desee utilizando la opción -b en el command git clone .

En su caso, la twig que desea clonar es la twig fuente de la request de extracción (feature / mongoose-support):

 git clone https://github.com/berstend/frappe.git -b feature/mongoose-support /my_clone 

La forma más fácil de hacerlo es así:

 git fetch origin pull/2/head git checkout -b pullrequest FETCH_HEAD 

Ahora estará en una nueva twig que se encuentra en el estado de la request de extracción.

 git fetch origin refs/pull/PR_NUMBER/head:NEW_LOCAL_BRANCH 

p.ej:

 $ git fetch origin pull/611/head:pull_611 $ git checkout pull_611 

Haz cambios, compromételos, EMPUJA y abre nuevas relaciones públicas desde tu tenedor en GitHub

Puede seguir las instrucciones en este sentido para poder verificar el control remoto directamente sin tener que descubrir su repository y sucursal.

Ejemplo de uso

Para uno de mis proyectos (github3.py) tengo lo siguiente en mi github3.py/.git/config

 [remote "github"] fetch = +refs/heads/*:refs/remotes/github/* fetch = +refs/pull/*/head:refs/remotes/github/pr/* url = git@github.com:sigmavirus24/github3.py 

La primera línea es lo que es estándar para cada control remoto con la exception de que github se reemplaza por el nombre del control remoto. Lo que esto significa es que las cabezas remotas (o las cabezas de las twigs en ese server) están "mapeadas" a controles remotos locales con el prefijo github/ . Entonces, si obtuve git fetch github y tuviera una twig en GitHub que no se haya notado localmente en mi máquina, downloadía la twig y podría cambiarla de la siguiente manera: git checkout -t github/branch_name .

La segunda línea hace lo mismo, pero lo hace para las requestes de extracción en lugar de las twigs estándar de git. Es por eso que ves refs/pull/*/head . Capta el encabezado de cada request de extracción en GitHub y lo asigna a github/pr/# . Entonces, si alguien envía una request de extracción y está numerada como 62 (por ejemplo), usted haría:

 git fetch github git checkout -t github/pr/62 

Y luego estaría en una sucursal local llamada pr/62 (suponiendo que no existiera). Es agradable y significa que no tiene que hacer un seguimiento de los controles remotos o sucursales de otras personas.

Cuando un usuario envía una request de extracción, solicita que se fusionen algunos cambios desde una twig en su clon de una bifurcación al depósito de otro usuario.

Los cambios que desee se pueden get de la fuente de la request de extracción. Para ello, clone el repository del usuario ( git://github.com/berstend/frappe.git ) y luego revise la twig desde la que creó la request de extracción ( feature/mongoose-support ).

Después de instalar git-extras

 (cd /tmp && git clone --depth 1 https://github.com/tj/git-extras.git && cd git-extras && sudo make install) 

Puedes simplemente usar git pr

 $ git pr 62 [remote] 

Esa request de extracción muestra las confirmaciones del tenedor de esa persona para que pueda ver que está presionando sus cambios desde la twig de feature/mongoose-support .

Puedes clonar su repository y pagar esa twig

 git clone git://github.com/dweldon/frappe cd frappe git pull origin pull/2/head 

¿Cómo puedo get una request de extracción no fusionada para una sucursal de la que no soy propietario?