Recentemente, comecei a trabalhar com o modelo GitFlow, conforme implementado pelo bitbucket. E há uma coisa que não está completamente clara para mim.
Tentamos resolver regularmente nossa dívida técnica, acumulando em atraso, planejando e implementando as tarefas de refatoração. Essas ramificações de refatoração terminam com solicitações pull que são mescladas develop
. Minha pergunta é onde os ramos de refatoração pertencem ao GitFlow ?
- O uso do
feature
prefixo parece o mais lógico, no entanto, não parece totalmente correto, porque a refatoração não adiciona nenhuma nova funcionalidade. - No entanto, o uso do
bugfix
prefixo não parece certo e não há correções de refatoração de bugs reais . - A criação de um prefixo personalizado, por outro lado, parece complicar, se não o excesso de engenharia.
Você teve essa situação? Qual prática você usa para resolver isso? Por favor, explique o porquê.
refactor
, então está claro o que transformar cada mesclagem deve fazer no produto (correção de bug: corrija comportamento quebrado, recurso: adicione novo comportamento, refatore: mantenha o comportamento anterior). Mas @MrCochese está certo, deve realmente fazer parte do outro trabalho que você está fazendo, não uma tarefa separada. Observe também que, se seus refatores quebrarem a compilação, eles não serão refatores!Respostas:
O trabalho de refatoração deve ir em uma ramificação de recursos.
O prefixo "recurso" é apenas uma palavra para descrever uma tarefa de programação discreta, você pode escolher qualquer palavra que desejar, qualquer ramo do desenvolvimento é um ramo "recurso" ou um ramo "release"
Adicionar um novo prefixo como "refatoração" é problemático. Como você costuma refatorar algumas vezes ao adicionar um recurso, está simplesmente se dando um problema de nomeação e aumentando a confusão. ie "algumas de nossas ramificações de recursos são chamadas de 'refatoração', elas não contêm todo o trabalho de refatoração e, às vezes, possuem correções de bugs ou recursos '
Da mesma forma, ramificações de "hotfix" não são chamadas de hotfix porque contêm hotfixes, mas porque ramificam do mestre em vez de desenvolver
fonte