Atualmente, eu costumava criar uma nova ramificação cada vez que adicionava um novo recurso ao meu aplicativo.
Quando meu recurso está pronto e funcional, mesclo-o ao ramo principal.
Mais tarde, porém, quando preciso atualizar esse recurso (como uma melhoria), é melhor criar uma nova ramificação ou preciso refazer a anterior com o mestre, a atualização será mesclada novamente?
Por exemplo, eu tenho um ramo chamado model-member em um aplicativo Ruby on Rails. Mais tarde, preciso adicionar alguns atributos ao modelo de membro (que foi criado neste ramo). O que devo fazer? Rebase deste ramo com o mestre, atualize o modelo e mescle-o novamente ou simplesmente crie um novo ramo?
Respostas:
Crie uma nova ramificação, porque:
É menos provável que uma ramificação totalmente nova tenha conflitos de mesclagem quando terminar e deseja mesclá-la no mestre. Poucas coisas são mais propensas a erros do que corrigir conflitos de mesclagem.
O recurso pode ter passado por várias alterações e atualizações desde sua implementação original, tornando o ramo original totalmente obsoleto. A única maneira de atualizá-lo é mesclar o mestre no ramo de recursos ... e nesse ponto você está apenas ramificando o mestre de uma maneira desnecessariamente complicada.
Se apenas por uma questão de simplicidade, geralmente é uma boa ideia ter o mesmo fluxo de trabalho para atualizações, correções de bugs e novos recursos. Isso se aplica a ramificações, revisões de código, uso de rastreador de erros e praticamente todo o resto. A diferença entre atualizar um recurso existente, adicionar um novo recurso e corrigir um erro geralmente é subjetiva de qualquer maneira.
fonte
Use uma nova ramificação.
Para nomear, você pode considerar usar um formato interno que this_work seja uma extensão ou mude para that_work
Por exemplo, você pode nomear o segundo ramo
com - sinalizando que o nome à esquerda é o ramo original
Enfrentamos um problema um pouco semelhante ao usar os números de ticket Jira para nomes de filiais. Às vezes, há um trabalho adicional para o mesmo ticket. Às vezes, uma alteração no banco de dados não pode ser revertida. Nesses casos, usamos, por exemplo, o ramo original SEND-123 e o segundo ramo como SEND-123a
fonte
Se você quiser salvar apenas confirmações de uma mesclagem no master e estiver usando o github, poderá usar "Fork" para cada novo recurso, fazer uma solicitação de recebimento e aceitar solicitação de recebimento após concluir cada novo recurso.
Não recomendo trabalhar em ramos antigos, pois você pode ter conflitos quando o mescla com o chefe de mestre e, claro, não é necessário fazê-lo ...
fonte