Branches: experimentando sem medo
Uma (ramo) é uma cópia paralela do seu projeto onde você pode experimentar. Seu trabalho principal fica em uma branch geralmente chamada main. Quando você quer tentar algo — um recurso novo, uma reescrita arriscada feita por IA — você cria uma nova branch, faz o trabalho lá, e sua main permanece intocada e segura.
Se o experimento funcionar, você faz o merge (mescla) de volta para a main. Se não funcionar, você descarta a branch e a main nunca soube que aquilo aconteceu.
É exatamente assim que você deve tratar mudanças grandes feitas por IA. "Construa todo o fluxo de pagamentos" merece sua própria branch. Se a IA produzir algo bom, você faz o merge. Se produzir um desastre, você apaga a branch e não perdeu nada.
Visualmente, uma branch se separa da main, cresce por conta própria e depois se funde de volta:
┌──▶( A )───▶( B )──┐ new-feature branch
│ ▼
main ──▶( C1 )───▶( C2 )───────────────▶( C3 )───▶ main continues
▲ │
branch off here merge back here
# Create a new branch and switch to it
git checkout -b new-feature
# ...do your work, make commits...
# Switch back to your safe main branch
git checkout main
# Merge the good work from your branch into main
git merge new-feature