Branches e estratégias de branches
As no Git permitem sair da linha principal de desenvolvimento e trabalhar de forma independente, sem afetar a base de código principal. É como ter seu próprio universo paralelo, onde você pode experimentar, desenvolver novas funcionalidades ou corrigir bugs sem interferir na versão estável do projeto.
Vamos começar listando todas as branches do seu repositório. Você pode fazer isso com o comando sem argumentos.
Use o comando git branch para listar todas as branches.
Se você não andou fazendo experimentos secretos por conta própria, deve ver só uma branch: a sua branch padrão main. É a branch que sempre é criada quando você inicializa um novo repositório.
As branches são simplesmente ponteiros para commits. Existe outro ponteiro, chamado HEAD, que aponta para o commit atualmente carregado no seu diretório de trabalho — normalmente, o commit mais recente de uma branch. Quando você faz um novo commit, o ponteiro da branch avança para esse commit, e o HEAD também. Quando você troca de branch, o HEAD se move para o commit mais recente da nova branch.
Agora, vamos falar de estratégias de branches, que fazem parte do . Uma estratégia de branches é um conjunto de regras e orientações para criar, nomear e gerenciar branches em um projeto. Em um projeto grande, com vários desenvolvedores, pode haver centenas de branches, e uma boa estratégia de branches pode ajudar a manter tudo organizado e sob controle. Estes são alguns fluxos de trabalho comuns com Git:
-
Fluxo centralizado. Todos os desenvolvedores trabalham em uma única branch, geralmente a branch
main. Esse fluxo é o mais simples, mas dificulta o trabalho em paralelo, porque todo mundo mexe na mesma branch. Na maioria das vezes, é usado por equipes que antes trabalhavam com os antigos sistemas centralizados de controle de versão. -
Fluxo com branches de funcionalidade. Cada nova funcionalidade é desenvolvida na própria branch e, quando fica pronta, é mergeada na branch
main. É o fluxo de trabalho mais comum entre equipes que usam Git. Ele permite que os desenvolvedores trabalhem em várias funcionalidades ao mesmo tempo sem atrapalhar uns aos outros. -
Fluxo Gitflow. O Gitflow usa branches de longa duração, como
mainedevelop, além de branches de vida curta para funcionalidades, lançamentos e correções urgentes (feature,releaseehotfix). Esse fluxo dá a projetos complexos, com vários lançamentos, um caminho claro do desenvolvimento até a produção. Porém, ele é bastante complexo e pode ser exagero para projetos menores. -
Fluxo com forks. Cada desenvolvedor tem seu próprio (cópia) do repositório e envia pull requests para o repositório principal, onde as alterações são revisadas e mergeadas por alguém com acesso de escrita ao repositório principal. Esse fluxo é comum em projetos de código aberto, em que quem contribui não tem acesso de escrita ao repositório principal. Quem contribui trabalha na própria cópia, e o projeto principal só aceita alterações revisadas.
Não existe uma estratégia de branches que sirva para todos os casos. A melhor abordagem depende do tamanho e da complexidade do projeto, do número de pessoas contribuindo e do ciclo de lançamentos.
Agora que você conhece as estratégias de branches, vamos criar nossa primeira branch de funcionalidade!
Faça o curso do jeito que ele foi pensado: progressão em pequenas doses, ordem linear e focada, desbloqueio gradual das entradas da Gitopedia. Continue com o Git de verdade no VS Code/Cursor/Antigravity/Windsurf a qualquer momento.
mas precisa de login