~/questoes/codex
Branches são ramificações do código que permitem desenvolver funcionalidades de forma isolada, sem afetar o código principal. Elas são essenciais para um fluxo de trabalho seguro onde múltiplos desenvolvedores podem trabalhar simultaneamente em features diferentes.
A resposta correta reconhece que branches permitem desenvolvimento isolado de features antes de mesclar na branch principal. Isso reduz significativamente os riscos de conflitos, bugs e facilita a revisão de código através de pull requests antes da integração final.
Branches não afetam o tamanho do repositório de forma significativa. O Git armazena snapshots do código, e criar branches não economiza espaço em disco; ao contrário, pode ocupar mais espaço localmente. A principal vantagem está no fluxo de trabalho, não no armazenamento.
Esta é a vantagem central. Branches permitem que você trabalhe em uma nova funcionalidade em um ambiente isolado. Enquanto isso, outras pessoas podem continuar trabalhando na branch principal sem interferências. Apenas quando a feature está pronta e revisada, ela é mesclada.
Branches e testes de unidade são conceitos complementares, não excludentes. Usar branches não elimina a necessidade de testes; na verdade, ambas as práticas trabalham juntas para garantir qualidade. Testes continuam sendo obrigatórios em qualquer branch.
Branches são apenas uma estratégia de versionamento e não têm relação com a velocidade de execução do código. O desempenho da aplicação depende da arquitetura, algoritmos e infraestrutura, não de como o código está organizado no Git.