Não tenho certeza, mas tenho uma vaga memória de criação de uma solicitação pull do github com "Problema 4" ou algo do título, e ela se anexou automaticamente ao Problema 4 no projeto para o qual eu estava enviando. Tentei novamente recentemente e não funcionou - apenas criou um novo problema. Não vejo opções como "Anexar ao problema" na nova página de solicitação de recebimento nem "Abrir uma nova solicitação de recebimento para este problema" na página do problema. Existe alguma maneira de fazer isso, para ajudar os proprietários do projeto a manterem limpa a página de Problemas e evitar a duplicação?
Editar : para esclarecer, eu sei que a criação de uma solicitação de recebimento sempre cria um novo problema. Em vez disso, gostaria de anexar a solicitação de recebimento a um problema existente .
fonte
Respostas:
O projeto "hub" pode fazer isso:
https://github.com/defunkt/hub
No repositório e na ramificação da qual você deseja enviar uma solicitação de recebimento de:
Isso usa a API do GitHub e anexa uma solicitação de recebimento da ramificação atual ao número de problema existente 4.
EDIT: Comentário de @atomicules: Para expandir a resposta de @MichaelMior, um exemplo completo é:
fonte
brew install hub
instalar com homebrewhub pull-request URL_TO_ISSUE
, funcionou para mim. Pergunto-me se-i ISSUE_NUMBER
só funciona se o problema é no mesmo repositório (ou seja, não um garfo)hub pull-request -b USERNAME_OF_UPSTREAM_OWNER:UPSTREAM_BRANCH -h YOUR_USERNAME:YOUR_BRANCH URL_TO_ISSUE
Adicionar uma solicitação pull a um problema existente do upstream é fácil, desde que você tenha bifurcado usando os meios normais do github .
Basta referenciar o problema na sua mensagem de confirmação usando qualquer uma das palavras - chave suportadas :
Por exemplo: "este commit corrige o número 116"
O texto referente ao problema não precisa aparecer na linha de assunto do seu commit.
Envie seu commit ao seu repositório do github e a solicitação de recebimento será automaticamente anexada ao problema.
Nota: Embora não seja obrigatório, é altamente recomendável que você submeta qualquer coisa que faça parte de uma solicitação pull a uma ramificação separada específica para esse problema, porque as confirmações futuras nessa ramificação serão anexadas à solicitação pull (automaticamente pelo github ) Portanto, se você não criou uma ramificação separada, a deixou no mestre e continuou desenvolvendo, todas as suas confirmações não relacionadas ao mestre seriam anexadas à sua solicitação de recebimento.
fonte
Você pode criar uma solicitação de recebimento a partir de um problema existente com a API de solicitação de recebimento :
Isso cria uma solicitação de recebimento:
technoweenie
no projetofaraday
(https://api.github.com/repos/ technoweenie / faraday / pulls)synchrony
galho emsmparkes
'fork ("head": " smparkes : synchrony ")master
ramo natechnoweenie
bifurcação ("base": " master ")smparkes
recebimento (--user " smparkes ")fonte
--user "smparkes:password"
para--user "smparkes"
que lhe seja pedida a sua senha de forma interativa.Outra ferramenta possível é o site Issue2Pr, que transforma seus problemas em solicitações pull.
É muito simples e eficaz!
Recursos:
fonte
Esta outra resposta explica como usar cURL (
curl
) para criar uma solicitação pull de um problema por meio da API do GitHub . Veja como fazer isso usando HTTPie (http
), que produz um comando mais fácil de ler e mais fácil de editar:Em seguida, digite sua senha do GitHub quando solicitado.
Exemplo explicado
Você fez login no GitHub com o nome de usuário smparkes e a senha hunter2 . Você viu technoweenie ‘s repo Faraday , pensou em algo que deve ser mudado, e fez um problema em que repo para ele, a edição # 15 . Mais tarde, você descobrirá que ninguém mais fez a alteração proposta e também terá tempo para fazer isso sozinho. Você bifurcar Faraday para a sua própria conta , em seguida, escrever as alterações e empurrá-los para o seu garfo sob um ramo chamado sincronia . Você acha que o technoweenie deve puxar essas mudanças para o mestreramo de seu repo. Este é o comando que você escreveria para converter seu problema anterior em uma solicitação pull para esta situação:
Agora, a edição 15 é uma solicitação de recebimento.
fonte
caso você use 2-factor-auth no github, será necessário fornecer o authtoken como cabeçalho na solicitação:
fonte
Você também pode usar o Gub para enviar solicitações de recebimento para o seu problema.
Também ajuda a usar um estilo adequado de solicitação de forquilha / puxar.
Edição: 05/10/2013
Para que o Gub envie uma solicitação de recebimento para o problema nº 123, execute o seguinte:
Isso criará um novo problema de ramificação-123. Quando terminar de trabalhar no problema, execute:
Voila!
Nota: Eu sou o autor da gema Gub.
fonte
Em vez de fazer isso no lado do cliente (com
hub
, como na resposta de Christian Oudard ), você agora (fevereiro de 2020) pode fazê-lo no lado do servidor (github.com)Consulte " Exibir e vincular problemas e receber solicitações da barra lateral "
Documentação :
E há uma API de pesquisa com esse recurso.
fonte
Usando a ferramenta git-hub , você pode fazer isso com:
$> git hub pull attach 123
Isso converteria o problema 123 na solicitação de recebimento 123, mantendo assim toda a discussão sobre o problema em um único local.
fonte
Se você tiver o 2FA ativado, poderá passar o token com o HTTPie:
Isso usará a ramificação
issue_2
para converter o problema nº 2 em uma solicitação de recebimento.fonte