2012-09-09 12 views
43

He bifurcado previamente jockm/vert.x y le he enviado una solicitud de extracción. Ahora quiero bifurcar vert-x/vert.x (el upstream de jockm/vert.x) y enviarles una solicitud de extracción diferente. Pero cuando hago clic en el botón Tenedor, insuperablemente termino en mi fork tjcrowder/vert.x de jockm/vert.x. ¿Es posible bifurcar vert-x/vert.x y jockm/vert.x al mismo tiempo de forma que pueda enviar cada solicitud de extracción según corresponda?¿Cómo puedo bifurcar el repositorio original cuando ya he bifurcado una horquilla diferente?

Me temo que la respuesta puede ser la misma que para this question about the converse situation ("no hay manera de GitHub, pero se puede añadir un repo a distancia") pero espero que de lo contrario   — entre otras cosas porque no veo cómo la respuesta me permitiría enviar solicitudes de extracción al nuevo control remoto.

Respuesta

23

No hay manera de GitHub (pequeña mentira, ver abajo), pero tampoco hay nada que temer.

Por definición, su tenedor de un tenedor es un tenedor del original. Cuando abre una solicitud de extracción, tiene la opción de elegir tanto el origen como el destino para su solicitud de extracción. Las opciones disponibles allí obviamente dependen del gráfico de horquilla, pero mientras haya una ruta en el gráfico entre los dos repositorios, debe estar seguro. Además, dado que las solicitudes de extracción viven en el lado del sitio web, ni siquiera necesita agregar un control remoto siempre y cuando no quiera usarlo desde git.

Ahora, por supuesto, es posible que desee reconsiderar su lugar en ese gráfico, y hacerse un hijo directo de la corriente ascendente real, pero eso en su mayoría no está relacionado.

Como dije anteriormente, en realidad hay una manera retorcida de tener varias horquillas, que es crear organizaciones y tenedor en ellas. De esta forma, puede "tener" varios repositorios en el mismo gráfico. Pero realmente no hay necesidad de ir allí.

+2

Efectivamente, si realizo otra solicitud de extracción, tengo la opción de enviarla a jockm/vert.x o vert-x/vert.x (o cualquiera de muchos, muchos otros tenedores de la corriente ascendente). ¡Gracias! Tengo que tener cuidado de no intentar enviar cambios a vert-x/vert.x que sean realmente específicos de jockm/vert.x, pero para eso sirven las ramas. –

+0

FWIW, he [detallado a continuación] (http://stackoverflow.com/a/12348696/157247) cómo apliqué el conocimiento de esta respuesta. Gracias de nuevo. –

+2

El problema es que cuando envias PR al repositorio original, tendrá toda la basura que has cometido accidentalmente en la misma rama. Cambiar el nombre de su repositorio no autorizado y luego hornear el original es/sería mucho más fácil que limpiar el desorden. – Mars

1

No vi ninguna especificación en "múltiples tenedores", así que probablemente terminaría creando otra cuenta de GitHub, bajo la cual haría el segundo clon, y enviaría la solicitud de extracción diferente al vert.x/vert.x.

Dado que puede tener "Multiple github accounts on the same computer" (con la derecha ssh config file, también described here), es una posible solución.

+1

Gracias. Si no puedo hacerlo "correctamente", tendré presente esa solución. (En esta situación * particular *, no creo que el repositorio de jockm/vert.x vaya a estar muy activo, así que probablemente solo me asegure de que haya retirado el compromiso [son las tres líneas] y luego desentierre pero esta es información útil si aparece en otro lado.) –

+1

@TJCrowder Estaba pensando en descorchar, pero no estoy seguro del efecto secundario con respecto a su solicitud de extracción. No me desvincularía antes de que se tenga en cuenta la solicitud de extracción (como usted comentó), de ahí mi sugerencia de una segunda cuenta. – VonC

4

Parece que la mejor opción sería crear una bifurcación en su bifurcación y crear una solicitud de extracción desde esa bifurcación. Puede usar branches para "bifurcar" su versión

12

Gracias a sigma's answer, vi que no solo está disponible el repo upstream cuando voy a hacer una solicitud de extracción en el repositorio jockm/vert.x, sino que todas las otras bifurcaciones de el repositorio upstream también. Así que lo que terminé haciendo fue:

  1. Eliminación de mi tenedor de jockm/bifurcan vert.x y en su lugar vert-x/vert.x, ya que sobre todo quiero trabajar dentro de la principal repo aguas arriba, no la versión de jockm.
  2. Creando una rama para la confirmación que quería enviar a jockm, y una rama separada para la confirmación que quería enviar a vert-x.
  3. Haciendo los cambios relevantes a cada rama.
  4. Enviando solicitudes de extracción para cada rama a los repos relevantes, ya que el repositorio de jockm/vert.x se enumera como un posible objetivo para la solicitud (junto con alrededor de 200 otras horquillas).

Utilicé ramas separadas (básicamente ramas de tema) para que esas confirmaciones permanezcan como la única en esas solicitudes, ya que las confirmaciones posteriores en la misma rama se agregan automáticamente a la solicitud de extracción y estos cambios deben permanecer. aislado hasta/a menos que se haya fusionado.

1

También puede crear una nueva organización en su perfil/configuración. Luego puede bifurcar diferentes estados del mismo repositorio original a través de la misma cuenta.

+1

[Eso ya está cubierto] (https://stackoverflow.com/a/12339396/157247), no es necesario que publique un duplicado. –

Cuestiones relacionadas