Junior — Middle
Pode descrever como gerenciava os branches e os lançamentos ao usar o processo Git no seu emprego anterior?
sobes.tech IA
Resposta da IA
Na nossa posição anterior, usávamos Git com o modelo de ramificação Git Flow, que inclui os seguintes ramos principais:
- master/main: contém código estável, pronto para lançamento.
- develop: ramo de integração para o desenvolvimento atual.
- feature/*: para desenvolver novas funcionalidades.
- release/*: para preparar o lançamento, corrigir bugs e realizar testes finais.
- hotfix/*: para correções urgentes em produção.
O processo era o seguinte:
- Para cada nova tarefa, criava-se um ramo feature a partir do develop.
- Após concluir e testar a feature, ela era mesclada de volta ao develop por meio de uma solicitação de pull com revisão de código.
- Quando o conjunto de funcionalidades estava pronto para o lançamento, criava-se um ramo release a partir do develop, onde eram realizados testes e correções de bugs.
- Após um teste bem-sucedido, o ramo release era mesclado em master e develop, e uma tag com o número da versão era criada.
- Em caso de bugs críticos em produção, criava-se um ramo hotfix a partir do master, e as correções eram mescladas de volta em master e develop.
Essa abordagem garantia a estabilidade dos lançamentos e facilitava o desenvolvimento paralelo.