Me gustaría clonar un repositorio de GitHub. El problema es que no quiero la rama principal; Quiero la versión en esta solicitud de extracción no aprobada .
¿Es posible para mí clonar la versión de solicitud de extracción en lugar del repositorio principal?
git
github
pull-request
Fresheyeball
fuente
fuente
clone
sino parafetch
ver: stackoverflow.com/questions/6743514/…Respuestas:
Puede clonar la rama que desee utilizando la
-b
opción y para la solicitud de extracción:En su caso, la rama que desea clonar es la rama fuente de la solicitud de extracción (
feature/mongoose-support
):fuente
La forma más fácil de hacerlo es así:
Ahora estará en una nueva sucursal que se encuentra en el estado de la solicitud de extracción.
Es posible que desee configurar un alias ejecutando
Ahora puede verificar cualquier PR ejecutando
git pr <pr_number>
, ogit pr <pr_number> <remote>
si su control remoto github no tiene nombreorigin
.fuente
git fetch origin pull/<#>/head:<local_branch_name>
( vía ).gitconfig
archivo con[alias]
:pr = "!f() { git fetch $1 pull/$2/head:pull_$2; git co pull_$2; }; f"
. De esa manera, sologit pr upstream 62
escribo y lo siguiente que sé es que estoy en una nueva sucursal de PR # 62 desde arriba. Si siempre lo usaorigin
, podría codificarlo en lugar de$1
, pero eso cambia para mí.co
p.ej:
Haz cambios, compromételos, PUSH y abre nuevas relaciones públicas desde tu fork en GitHub
fuente
Puede seguir las instrucciones en este resumen para poder revisar el control remoto directamente sin tener que descifrar su repositorio y sucursal.
Ejemplo de uso
Para uno de mis proyectos (github3.py) tengo lo siguiente en mi
github3.py/.git/config
La primera línea es lo que es estándar para cada control remoto con la excepción 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 ramas en ese servidor) se "asignan" a los remotos locales con el prefijogithub/
. Así que si lo hicegit fetch github
y tenía una sucursal en GitHub que no fue notado ya localmente en mi máquina, sería descargar la rama y pude cambiar a ella, así:git checkout -t github/branch_name
.La segunda línea hace lo mismo, pero lo hace para solicitudes de extracción en lugar de ramas git estándar. Por eso lo ves
refs/pull/*/head
. Obtiene el encabezado de cada solicitud de extracción en GitHub y lo asigna agithub/pr/#
. Entonces, si alguien envía una solicitud de extracción y está numerada 62 (por ejemplo), haría lo siguiente:Y luego estaría en una rama local llamada
pr/62
(suponiendo que no existiera). Es agradable y significa que no tiene que hacer un seguimiento de los controles remotos o las ramas de otras personas.fuente
git clone https://github.com/berstend/frappe.git -b feature/mongoose-support /my_clone
documento esencial.git fetch github
, puedes hacerlogit co -t github/pr/#
. Esto evita que tenga que copiar y pegar la URL remota, averiguar el nombre de la sucursal, etc. Luego obtendrá nombres de sucursal bien nombrados, concisos y precisos sin la molestia adicional. Pero entiendo que puede parecer abrumador.¿Cómo puedo obtener una solicitud de extracción no fusionada para una sucursal que no me pertenece?
fuente
git pull
crea una fusión en la rama actual; generalmente para un RP que deseagit fetch
obtener solo el código original del autor (luego se puede acceder como FETCH_HEAD). Si desea una fusión, también vale la pena mencionarpull/2/merge
(en lugar depull/2/head
): esto hace que GitHub le brinde la confirmación de fusión exacta que sucedería si hace clic en el botón [Fusionar] ahora.Cuando un usuario envía una solicitud de extracción, está pidiendo que se fusionen algunos cambios de una rama en su clon de una bifurcación al repositorio de otro usuario.
Los cambios que desea se pueden obtener del origen de la solicitud de extracción. Para hacer esto, clone el repositorio del usuario (
git://github.com/berstend/frappe.git
) y luego revise la rama desde la que creó la solicitud de extracción (feature/mongoose-support
).fuente
Después de instalar git-extras
Simplemente puedes usar
git pr
fuente
Con la nueva interfaz de línea de comandos oficial de Github :
donde
44
está el número PR, pero también puede ser el nombre de la sucursal.Ver detalles adicionales y opciones e instrucciones de instalación .
fuente
Esa solicitud de extracción muestra las confirmaciones del tenedor de esa persona para que pueda ver que está presionando sus cambios desde la
feature/mongoose-support
rama.Puedes clonar su repositorio y pagar esa rama
fuente
Para mí fue tan simple como
Donde
4
fue encontrado aquí:fuente