Minha equipe está usando o modelo de ramificação Git Stable Mainline e estamos prestes a criar a primeira ramificação de lançamento. Pelo que li até agora, parece que as ramificações de liberação são colocadas em silos a partir da ramificação principal e nunca são completamente mescladas novamente à master. Em vez disso, se uma correção for feita na ramificação de liberação, ela geralmente será escolhida novamente para a ramificação principal. Isso faz sentido para mim, pois você deseja manter a versão atual completamente separada do desenvolvimento da próxima versão, enquanto ainda é capaz de desenvolver o próximo conjunto de recursos no master ao mesmo tempo em que prepara a versão atual.
Por quanto tempo essas ramificações de liberação devem ser mantidas por aí? Existem casos em que eles devem ser completamente mesclados de volta ao master?
How long should these release branches be kept around for?
Contanto que você espere receber uma mensagem de erro para essa versão que deseja reproduzir a partir do código-fonte. Eu não removeria nenhuma ramificação de liberação porque uma ramificação tem uma pequena área de kilobyte no servidor. somente o delta custa memória do disco rígido
cherry picking
cada comprometer na liberação ramo em mestre ou merging
liberação para mestre é tecnicamente a mesma coisa aceitar que você não "ver" o cherry picks
na história git. Então, eu prefiro merging
cada correção no master usando a --no-ff
opção gits, para que o histórico mostre o ramo de lançamento extra.