No estoy seguro, pero tengo un vago recuerdo de crear una solicitud de extracción de github con "Issue 4" o algo en el título, y se adjuntó automáticamente al Issue 4 en el proyecto al que lo estaba enviando. Lo intenté nuevamente recientemente y no funcionó; en su lugar, creó un nuevo problema. No veo ninguna opción como "Adjuntar a problema" en la nueva página de solicitud de extracción, ni "Abrir una nueva solicitud de extracción para este problema" en la página de problema. ¿Hay alguna manera de hacer esto, para ayudar a los propietarios de proyectos a mantener su página de problemas limpia y evitar la duplicación?
Editar : para aclarar, sé que crear una solicitud de extracción siempre crea un nuevo problema. En su lugar, me gustaría adjuntar la solicitud de extracción a un problema existente .
fuente
Respuestas:
El proyecto "hub" puede hacer esto:
https://github.com/defunkt/hub
En el repositorio y la sucursal desde la que desea enviar una solicitud de extracción:
Esto utiliza la API de GitHub y adjunta una solicitud de extracción para la rama actual al problema número 4 existente.
EDITAR: Comentario de @atomicules: Para ampliar la respuesta de @MichaelMior, un ejemplo completo es:
fuente
brew install hub
instalar con homebrewhub pull-request URL_TO_ISSUE
, luego funcionó para mí. Me pregunto si-i ISSUE_NUMBER
solo funciona si el problema está en el mismo repositorio (es decir, no es un tenedor)hub pull-request -b USERNAME_OF_UPSTREAM_OWNER:UPSTREAM_BRANCH -h YOUR_USERNAME:YOUR_BRANCH URL_TO_ISSUE
Agregar una solicitud de extracción a un problema ascendente existente es fácil suponiendo que se bifurcó utilizando los medios normales de github .
Simplemente haga referencia al problema en su mensaje de confirmación utilizando cualquiera de las palabras clave admitidas :
Por ejemplo: "este commit arregla # 116"
El texto que hace referencia al problema no necesita aparecer en la línea de asunto de su confirmación.
Envíe su confirmación a su repositorio de github y la solicitud de extracción se agregará automáticamente al problema.
Nota: Si bien no es obligatorio, se recomienda encarecidamente que confirme cualquier cosa que sea parte de una solicitud de extracción en una rama separada específica de ese problema, porque las futuras confirmaciones en esa rama se agregarán a la solicitud de extracción (automáticamente por github ) Entonces, si no creó una rama separada, la dejó en el maestro y luego siguió desarrollándose, entonces todos sus compromisos no relacionados con el maestro se agregarán a su solicitud de extracción.
fuente
Puede crear una solicitud de extracción a partir de un problema existente con la API de solicitud de extracción :
Esto crea una solicitud de extracción:
technoweenie
al proyectofaraday
(https://api.github.com/repos/ technoweenie / Faraday / tirones)synchrony
rama ensmparkes
'tenedor ("cabeza": " smparkes : sincronía ")master
rama entechnoweenie
la bifurcación ("base": " maestro ")smparkes
(--user " smparkes ")fuente
--user "smparkes:password"
para--user "smparkes"
que se le solicite su contraseña de forma interactiva.Otra herramienta posible es el sitio web Issue2Pr que convierte sus problemas en solicitudes de extracción .
¡Es muy simple y efectivo!
Recursos:
fuente
Esta otra respuesta explica cómo usar cURL (
curl
) para crear una solicitud de extracción de un problema a través de la API de GitHub . Aquí le mostramos cómo hacerlo utilizando HTTPie (http
), que produce un comando más fácil de leer y editar:Luego escriba su contraseña de GitHub cuando se le solicite.
Ejemplo explicado
Has iniciado sesión en GitHub con el nombre de usuario smparkes y la contraseña hunter2 . Que viste technoweenie ‘s repo Faraday , pensado en algo que debe ser cambiado, e hizo un tema en el que la cesión temporal por ello, Edición # 15 . Más tarde, descubre que nadie más ha realizado el cambio propuesto y también tiene algo de tiempo para hacerlo usted mismo. Usted bifurca faraday en su propia cuenta , luego escribe sus cambios y los empuja a su bifurcación debajo de una rama llamada sincronía . ¿Crees que Technoweenie debería llevar esos cambios al maestro?rama de su repositorio. Este es el comando que escribiría para convertir su problema anterior en una solicitud de extracción para esta situación:
Ahora el número 15 es una solicitud de extracción.
fuente
en caso de que use 2-factor-auth con github, deberá proporcionar el authtoken como encabezado en la solicitud:
fuente
También puede usar Gub para enviar solicitudes de extracción para su problema.
También lo ayuda a usar un estilo apropiado de horquilla / solicitud de extracción.
Editar: 10/10/2013
Para que Gub envíe la solicitud de extracción para el problema # 123, debe ejecutar lo siguiente:
Esto creará una nueva sucursal número 123. Una vez que haya terminado de trabajar en el problema, ejecute:
Voila!
Nota: Soy el autor de Gub gem.
fuente
En lugar de hacerlo en el lado del cliente (con
hub
, como en la respuesta de Christian Oudard ), ahora (febrero de 2020) puede hacerlo en el lado del servidor (github.com)Consulte " Ver y vincular problemas y extraer solicitudes de la barra lateral "
Documentación :
Y hay una API de búsqueda con esa característica.
fuente
Usando la herramienta git-hub , puede hacer esto con:
$> git hub pull attach 123
Esto convertiría el problema # 123 en la solicitud de extracción # 123, manteniendo así toda discusión sobre el problema en una sola ubicación.
fuente
Si tiene habilitado 2FA, puede usar pasar el token con HTTPie:
Esto usará la rama
issue_2
para convertir el problema # 2 en una solicitud de extracción.fuente