Você pode se beneficiar do fluxo de trabalho que Scott Chacon descreve no Pro Git . Nesse fluxo de trabalho, você tem dois ramos que sempre existem, dominam e se desenvolvem .
master representa a versão mais estável do seu projeto e você só implanta na produção a partir desta ramificação.
develop contém alterações que estão em andamento e podem não estar necessariamente prontas para produção.
Na ramificação de desenvolvimento , você cria ramificações de tópicos para trabalhar em recursos e correções individuais. Quando seu recurso / correção estiver pronto, você o mesclará no desenvolvimento ; nesse momento, poderá testar como ele interage com outros ramos de tópicos nos quais seus colegas de trabalho se fundiram. Depois que o desenvolvimento estiver em um estado estável, mescle-o ao master . Sempre deve ser seguro implantar na produção a partir do mestre .
Scott descreve essas ramificações de longa duração como "silos" de código, onde o código em uma ramificação menos estável acabará "se graduando" em um considerado mais estável após o teste e a aprovação geral da sua equipe.
Passo a passo, seu fluxo de trabalho nesse modelo pode ficar assim:
- Você precisa corrigir um bug.
- Crie uma ramificação chamada myfix baseada no desenvolvimento ramo de .
- Trabalhe no bug nesta ramificação de tópico até que seja corrigido.
- Mesclar myfix no desenvolvimento . Execute testes.
- Você descobre que a sua correção está em conflito com outro tópico do hisfix, no qual seu colega de trabalho se mesclou ao desenvolver enquanto você trabalhava na correção.
- Faça mais alterações na ramificação myfix para lidar com esses conflitos.
- Mesclar myfix em desenvolver e executar testes novamente.
- Tudo funciona bem. Mesclar se tornar mestre .
- Implante a produção a partir do mestre a qualquer momento, porque você sabe que é estável.
Para mais detalhes sobre esse fluxo de trabalho, consulte o capítulo Fluxos de trabalho de ramificação no Pro Git.