As solicitações pull são criadas para que alguém possa revisar o trabalho, fazer comentários, sugestões, fazer ou solicitar edições e depois mesclar o código para dominar.
No seu caso, a pessoa é você.
Como desenvolvedor único, você ainda deve revisar seu próprio trabalho, refatorá-lo e fundi-lo para dominar quando estiver pronto.
Uma abordagem que uso muito é tentar 'colocar outro chapéu', 'tentar outras personas'. Então sente-se por um tempo e coloque-se na situação de: novato no grupo; Desenvolvedor Junior; colega que você respeitava no passado etc. Tente e olhe através dos olhos deles e tente pensar no que você poderia fazer para tornar a mudança mais óbvia, melhor escrita com nomes ainda melhores que evitam o máximo possível o conhecimento tribal e de domínio. .
Portanto, como você indicou, você deve trabalhar em ramificações quando quiser separar recursos e alterações que não estão prontas para o mestre. Você pode fazer tudo isso nas ramificações (você nem precisa de solicitações pull para gerenciá-las, se executar as tarefas de relações públicas de qualquer maneira, mas poderá fornecer uma estrutura útil para você).
Além disso, às vezes vou achar que minha alteração não está funcionando, mas, em vez do horror de tentar recuperá-la do mestre, talvez agora misturada com outras alterações mestre, posso fazer tudo isso em um ramo que, então, posso ignorar / delete se começar a dar errado. Este é um grande benefício.
Portanto, você deve trabalhar em ramificações e não se comprometer diretamente com o mestre até decidir mesclar a ramificação inteira.
Essas são diretrizes - e não regras - a serem seguidas. Eu os quebro intencionalmente às vezes. Por exemplo, ontem cometi uma correção de erro de digitação para dominar.
Normalmente, as solicitações pull são usadas para revisões de código ou contribuições de usuários com seu próprio fork do projeto - para um único desenvolvedor de um projeto que não vejo realmente um propósito.
fonte
A razão pela qual faço isso é que é uma maneira conveniente de garantir que todas as verificações automatizadas sejam aprovadas (ele compila, possui formatação correta, os testes de unidade são aprovados ...).
Eu não necessariamente exijo que todas as verificações passem para cada confirmação, mas quero que o chefe da ramificação principal sempre passe nas verificações. Acho que as solicitações pull são o caminho mais fácil (talvez não o único).
De maneira mais geral, é uma maneira de conectar ganchos para concluir as alterações. Testes são um exemplo; @ John mencionou a criação de notas de versão como outro exemplo.
fonte
As solicitações pull versus git push se resumem a uma história individual ou compartilhada. O repositório principal é a fonte de todas as alterações, se outras pessoas estiverem retirando e potencialmente fazendo alterações locais, uma solicitação de envio poderá causar problemas a esses usuários como a árvore da qual eles estão derivando de alterações.
O modelo de solicitação de recebimento (de ramificações personalizadas ou repositórios pessoais) serve como uma maneira de fornecer histórico consistente para todos aqueles que usam e derivam do código.
Parte do motivo pelo qual você está colocando código no github seria disponibilizar o código para bifurcação e receber solicitações. Você nunca sabia quando isso aconteceria, e manter consistente o histórico de seus co-desenvolvedores seria uma grande vantagem.
fonte