Pense no seu código como uma linha do tempo principal (quase sempre chamada main
ou master
). Quando você quer desenvolver uma nova funcionalidade, corrigir um bug, ou experimentar uma ideia sem bagunçar o código principal, você cria uma branch.
Uma branch é como uma "ramificação" dessa linha do tempo. Ela permite que você trabalhe em isolamento, faça suas mudanças, adicione commits, e só depois (se tudo estiver funcionando) integre de volta à linha do tempo principal.
A branch main
(ou master
) é considerada a branch principal do seu repositório. Idealmente, é onde o código está estável e pronto para ser entregue aos usuários ou publicado. A boa prática é nunca trabalhar diretamente na main
para novas funcionalidades ou correções de bugs.
git branch
)Este comando mostra todas as branches existentes no seu repositório local.
Comando:
git branch
Saída Exemplo: O asterisco () indica a branch em que você está atualmente.
* main
feature/nova-funcionalidade
git switch -c <nome-da-branch>
)Para começar a trabalhar em uma nova funcionalidade, você deve criar uma branch a partir da branch onde você quer que as mudanças se baseiem (geralmente main
).
Comando (Criar e Trocar para a Nova Branch):
git switch -c feature/adiciona-autenticacao
git switch
: O comando moderno e recomendado para trocar de branches.c
(ou -create
): Diz ao Git para criar uma nova branch se ela não existir.feature/
: Para novas funcionalidades (ex: feature/adiciona-carrinho
).bugfix/
: Para correções de bugs (ex: bugfix/corrige-login
).hotfix/
: Para correções urgentes em produção.refactor/
: Para refatorações de código.git switch <nome-da-branch>
)Depois de criar ou se você já tem branches existentes, você precisa "mudar" para a branch em que deseja trabalhar.
Comando:
git switch main # Troca para a branch 'main'
git switch feature/adiciona-autenticacao # Troca para sua branch de feature
Atenção: Se você tiver mudanças não salvas (não comitadas) na branch atual, o Git pode recusar a troca de branch para evitar a perda dessas mudanças. Comite ou salve (stash) suas alterações antes de trocar de branch.
Quando você termina de trabalhar em uma funcionalidade em sua branch de feature (e ela foi testada e está funcionando), você precisa "fundir" (unir) essas mudanças de volta na branch principal (main
) do projeto. Este processo é chamado de merge.
Vá para a branch que vai RECEBER as mudanças: (Geralmente a main
)
git switch main
Puxe as últimas atualizações da branch principal do repositório remoto: Isso é crucial para garantir que você tem a versão mais recente da main
antes de integrar suas mudanças, minimizando conflitos.
git pull origin main
Faça o merge da sua branch de feature na branch main
:
git merge feature/adiciona-autenticacao
Resolução de Conflitos (Se Ocorrerem): O Git tentará combinar as mudanças automaticamente.
Envie as mudanças da main
para o GitHub: Para que o repositório remoto reflita o merge.
git push origin main