// aula 03 · Git & GitHub
O que é uma branch?
O Guanabara explica branches como linhas do tempo paralelas. Você pode criar uma branch para desenvolver uma funcionalidade nova sem afetar o código principal. Se der errado, basta deletar a branch. Se der certo, você une as duas histórias com um merge.
// Visualização de branches
c1→c2→c3: commits na main · c4→c5: commits na feature branch · c6: merge
Criando e navegando entre branches
# Ver todas as branches locais git branch # Ver branches locais E remotas git branch -a # Criar uma nova branch git branch feature/login # Mudar para outra branch git checkout feature/login # Criar E já mudar para ela (atalho) git checkout -b feature/login # Forma moderna (Git 2.23+) git switch -c feature/login git switch main # trocar sem criar # Renomear branch atual git branch -m novo-nome # Deletar branch (após merge) git branch -d feature/login git branch -D feature/login # força deletar mesmo sem merge
Convenções de nomenclatura
O código de produção. Sempre estável. Nunca se desenvolve diretamente aqui em times.
Ex: feature/sistema-login, feature/carrinho-compras
Ex: fix/botao-submit, bugfix/calculo-desconto
Ex: release/v1.2.0 — branch de homologação antes de ir para main.
Saiu diretamente da main para corrigir um bug crítico em produção.
Ex: docs/atualiza-readme — mudanças apenas em arquivos de documentação.
O HEAD — onde você está agora
O HEAD aponta para o último commit da branch em que você está. Quando você troca de branch com git switch, o HEAD muda junto. É por isso que seus arquivos "mudam" ao trocar de branch — o Git restaura o estado salvo naquela branch.
# Ver onde o HEAD aponta agora cat .git/HEAD # HEAD~1 = um commit antes do atual # HEAD~2 = dois commits antes git log HEAD~3..HEAD --oneline # últimos 3 commits