// 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