Migrei vários dos meus projetos para o fluxo de trabalho do git flow e estou adorando. No entanto, não encontrei uma prática recomendada que mantenha as coisas fluindo da mesma maneira ao trabalhar com um projeto no qual mais de uma versão principal é mantida por vez.
Especificamente, não estou mantendo uma "versão gratuita" e uma "versão paga" ou qualquer outro modelo paralelo, estou falando de um projeto no qual a Versão 1 é lançada e permanece compatível com versões secundárias (1.1, 1.2, etc. .) até a versão 3 ser lançada, quando os pontos 2 e 3 seriam mantidos, até a liberação de 4 ... você entendeu.
Como você mantém ou mantém duas ou mais versões suportadas de um projeto ao mesmo tempo em um fluxo de trabalho do gitflow?
Respostas:
man gitworkflows
, o avô do fluxo de trabalho 'git flow', descreve as diretrizes gerais do fluxo de trabalho git; o uso depu
,next
,master
emaint
filiais; e comomaint
é gerenciado. Se você tiver várias ramificações de manutenção, poderá nomeá-las, por exemplomaint/1.x
,maint/2.x
e assim por diante.A chave não é tanto como usar os comandos git, mas como criar um processo razoável. Decida o que é importante para você (facilidade de backporting?) E crie (e documente) um fluxo de trabalho que atenda a essas restrições.
fonte
Basicamente, você iria duplicar os
master
,release
edevelop
ramos para cada versão principal você está mantendo. Como eles interagem entre si permanece o mesmo. Porfeature
ramos, apenas certifique-se filial a partir o ramo mais antigo você pretende fundir para trás em , o que impede puxando em dependências indesejadas. Então, quando você mescla suafeature
ramificação novamente, basta fazer mesclagens adicionais em cada ramificação da versão principal mais nova apropriada.fonte