// aula 03 · Git & GitHub

Branches — Trabalhando
em paralelo


O que Ă© uma branch?

🌿 Uma linha paralela de desenvolvimento

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
c6
c7
main
c4
c5
feature/login

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

main / master

Branch principal

O código de produção. Sempre eståvel. Nunca se desenvolve diretamente aqui em times.

feature/nome

Nova funcionalidade

Ex: feature/sistema-login, feature/carrinho-compras

fix/nome ou bugfix/nome

Correção de bug

Ex: fix/botao-submit, bugfix/calculo-desconto

release/versĂŁo

Preparação de versão

Ex: release/v1.2.0 — branch de homologação antes de ir para main.

hotfix/nome

Correção urgente

Saiu diretamente da main para corrigir um bug crítico em produção.

docs/nome

Documentação

Ex: docs/atualiza-readme — mudanças apenas em arquivos de documentação.


O HEAD — onde vocĂȘ estĂĄ agora

🎯 HEAD Ă© um ponteiro para o commit atual

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