Eu não quero acabar com 82 branches de recursos por aí , então estou me perguntando quais são as possíveis desvantagens de simplesmente excluir o branch de recursos assim que mesclá-lo com o master.
Fluxo de trabalho:
git co -b feat-xyz
hack hack
git ci
hack some more
git ci
git co master
git merge feat-xyz
smoke test
git br -d feat-xyz
Algum problema aqui?
git
version-control
branch
bstpierre
fonte
fonte
git reflog
-lo. Em seguida,Respostas:
Excluir após mesclar é a maneira usual. É por isso que
git branch -d yourbranchname
verifica se o branch está totalmente mesclado antes de ser excluído.Existem alguns motivos que posso pensar para manter um branch por perto: você pode querer mantê-lo no caso de haver bugs voltando assim que chegar à produção, ou você pode querer um registro histórico.
Em ambos os casos, você tem a opção de marcar o chefe do ramo antes de excluí-lo. Uma tag é como um branch no sentido de que é um ponteiro para um commit, exceto por algumas pequenas diferenças: 1) porcelain geralmente não exibe tags em comandos exploratórios como git show-branch ou tab-auto complete no checkout, 2) fazer check-out coloca você em um (não ref) HEAD 3) destacado, você pode deixar uma " mensagem de tagging ", que faz com que a tag seja salva como um objeto no armazenamento de objeto como um commit.
Dessa forma, você preserva o histórico e, se precisar corrigir o bug, recomendo apenas criar um novo branch do master para a correção.
fonte
Eu excluo após mesclar, mas sempre faço uma
git merge --no-ff
, para evitar o avanço rápido de forma que o histórico de ramificações fique visível no gráfico. Gosto de ter o histórico de onde o branch de recurso partiu do branch de desenvolvimento e de onde voltou:Isso foi tirado de Um modelo de ramificação Git bem-sucedido de Vincent Driessen, um fluxo de trabalho muito bom para usar com o git que aplico na maioria dos meus projetos.
fonte
merge --no-ff
volto ao master porque, como você disse, você pode ver o histórico.Posso pensar em dois motivos pelos quais você pode querer manter um branch de recursos por um tempo:
Na prática, na maioria das vezes, a exclusão após a mesclagem é adequada.
fonte
Fluxo de trabalho típico será
fonte
Eu acho que é o fluxo de trabalho típico (exclusão após mesclagem)
EDIT Então, ao invés de mesclar, pelo menos para branches de curta duração, eu acho que a ideia é realocá-los no master. então, você acaba com um histórico de alterações lineares e toda a ramificação se torna parte do tronco principal. neste caso, você tem todas as alterações lá, portanto, claramente não precisa de uma cópia.
fonte