No entendimento do GitHub Flow, como visto aqui , um recurso, após a revisão do código, é implantado primeiro na produção e depois mesclado no master.
Se houver um segundo recurso ramificado a partir do mesmo commit que o primeiro recurso, e esse também for implementado diretamente na produção, a produção não conterá mais o primeiro recurso.
feito em learngitbranching.js.org
Depois que o c2 é implantado, como o c3 pode ser implantado antes da fusão com o c2 ou c4?
Como o GitHub Flow lida com esse problema?
Uma solução óbvia seria exigir que um recurso fosse refeito no mestre antes de ser implementado na produção. No entanto, isso é propenso a erros humanos. Se alguém se esquece de se recuperar, a produção está perdendo um recurso.
Eu apreciaria especialmente as respostas daqueles que têm experiência com o GitHub Flow. Como você não tem esse problema?
Esse problema já aconteceu com você ou é uma questão teórica?
O Git é "inteligente o suficiente" ao mesclar apenas o código alterado por push, se houver "problemas", isso causará um conflito de mesclagem.
Cada novo recurso é baseado na ramificação de desenvolvimento, e não os baseamos em outros recursos.
Uma coisa que fazemos para minimizar os conflitos de mesclagem é mesclar com frequência e, antes de iniciar um recurso, puxe sempre o desenvolvimento mais recente. (nunca nos comprometemos a dominar, mas sempre a um ramo de desenvolvimento, que será mesclado de vez em quando ao ramo mestre)
fonte