Para fundir ou não fundir, essa é a questão
Quando você recebe solicitações pull, seja uma correção de bug, uma melhoria ou uma implementação de um novo recurso, você deve estar grato e feliz.
Mas e se algo na solicitação de pull não estiver certo ?
Testes ausentes? Não foi rebaseado corretamente? Mensagens de confirmação não descritivas?
Os poderes ocultos das solicitações de pull do Github
Isso não é realmente óbvio, mas o método a seguir permite que você edite com eficácia uma solicitação pull recebida e mescle-a de uma só vez.
Etapa 1: coloque seu branch em um novo branch em sua cópia local
Say Alice tem uma solicitação de recebimento de Bob ‘s fix
filial à sua (abençoada) origin
repositório no ramo master
. Ela agora vai puxar suas mudanças para uma nova filial local:
$ git checkout -b bobs_pr
$ git pull git@github.com:bob/the-repository.git fix
Isso puxa as alterações feitas em fix
(substitua-o pelo branch remoto na solicitação pull) para o novo branch local de Alice, chamado bobs_pr
.
Etapa 2: edite como se não fosse nada de especial
Agora você pode fazer todas as mudanças que quiser editando, submetendo, comprimindo commits, etc.
Etapa 3: Empurre-o para o (abençoado) controle remoto
Isso parece estranho no início, mas não é nada para se preocupar.
Quando as coisas estão em um estado em que você deseja mesclar o PR e suas alterações adicionais, você os empurra para o controle remoto. Se acontecer de você ter seu próprio fork de um repositório abençoado , envie-o para o repositório abençoado ao invés de seu próprio fork.
$ git push origin bobs_pr:master
Isso trará as alterações da solicitação pull, bem como suas alterações adicionais, e fechará a solicitação pull automaticamente .
A solicitação pull é fechada, porque todas as alterações da solicitação pull agora estão no repositório de destino e no branch, portanto, não há mais nada a fazer para a solicitação pull.
Jogada inteligente, Github.