Aprenda / Git e controle de versão

FundamentosAula 3 de 1416 min0% da trilha

Branches e merge

Trabalhar numa linha do tempo separada sem afetar o main, e depois juntar tudo de volta.

Uma branch é uma linha do tempo paralela do projeto. main (ou master) é a branch principal, geralmente a versão "estável". Criar uma branch nova deixa você experimentar, quebrar coisa, tentar de novo — sem afetar main até você decidir juntar (merge) de volta.

Criando e trocando de branch

terminal
git branch feature/login       # cria a branch
git checkout feature/login      # troca pra ela

# ou os dois de uma vez:
git checkout -b feature/login
terminal — versão mais nova do comando de troca
git switch -c feature/login   # cria e troca — substitui "checkout -b" nas versões recentes do git

Trabalhando na branch

terminal
# edita arquivos normalmente...
git add .
git commit -m "Adiciona formulário de login"
git commit -m "Adiciona validação de senha"

git log --oneline
# 2 commits novos aqui, main não tem eles ainda

Merge — juntando de volta

terminal
git checkout main         # volta pra main
git merge feature/login    # traz os commits da feature pra main

"Fast-forward" significa que main não tinha nenhum commit novo desde que a branch foi criada — o merge simplesmente "avança" o ponteiro de main até onde a feature já estava. Quando os dois lados mudaram coisas diferentes, o git tenta combinar automaticamente (e às vezes não consegue — próxima lição).

Exercício

Você está em main e quer começar uma feature chamada "checkout". Escreva o comando que cria a branch e já troca pra ela, numa linha só.

Quiz rápido

Por que trabalhar numa branch separada em vez de commitar direto em main?
O que significa um merge 'fast-forward'?