Se você tentar seguir o modelo de ramificação git-flow, documentado aqui e com ferramentas aqui , como você deve lidar com essa situação:
Você fez uma versão 1.0 e uma versão 2.0. Então você precisa fazer um hotfix para 1.0. Você cria uma ramificação de hotfix da marca 1.0 e implementa a correção lá. Mas e então?
Normalmente, você mesclaria com o master e colocaria uma tag de versão 1.1 lá. Mas você não pode mesclar 1.1 a um ponto após 2.0 no mestre.
Eu acho que você poderia colocar a marca de lançamento no branch de hotfix, mas isso criaria um branch permanente ao lado do mestre que conteria uma marca de versão. É esse o caminho certo?
Respostas:
Parece que existe um conceito de branch de "suporte" no fluxo git. Isso é usado para adicionar um hotfix a uma versão anterior.
Este tópico contém mais informações , com estes exemplos:
... faça sua correção, então:
ou usando
git flow
comandos... faça alterações então:
fonte
Pergunta interessante! O fluxo vinculado presume que o mestre pode rastrear a produção. Isso só funciona se as versões de produção estiverem estritamente aumentando. Isso normalmente é verdade para um site que possui apenas uma versão de produção.
Se você tiver que manter várias versões de produção, uma ramificação para rastrear a produção não é suficiente. Uma solução é não usar o mestre para rastrear a produção. Em vez disso, use ramos como
release1
,release2
, etc.Nessa abordagem, você pode nem precisar de um branch de hotfix. Você pode corrigir o problema na
release1
filial. Quando a correção for boa o suficiente, crie umarelease1.1
tag norelease1
branch.fonte
git-flow
ferramental não é adequado se você tiver que oferecer suporte a várias versões de produção. No fluxo de trabalho proposto nesta resposta, o master não é usado de forma alguma. Você poderia nomear o branch master, afinal é apenas um nome.git-flow assume que você está suportando apenas uma linha de lançamento por vez, convenientemente rastreada pelo master. Se estiver mantendo mais de 1, você precisará modificar o processo git-flow para ter vários rastreadores de suas versões separadas que você está oferecendo (master-1, master-2). Você pode continuar a usar master para rastrear a linha de lançamento mais recente, além de ou no lugar de um rastreador específico para a linha de lançamento mais recente (master em vez de master-2).
Infelizmente, qualquer ferramenta git-flow que você esteja usando provavelmente precisará ser modificada, mas espero que você esteja familiarizado o suficiente com o processo git-flow para lidar com esse caso específico diretamente com os comandos git.
fonte
git flow
processo, será algo diferente. Se algum modelo deve ser corrigido (não apenas estendido), ele é tão bem-sucedido quanto seu autor afirma. Verifique minha resposta ao tópico que estamos discutindo.git config --add gitflow.multi-hotfix true Este comando parece funcionar para mim!
fonte