Um guia do tutorial Fundamentos de Git: criar e trocar de branches, inspecionar mudanças com git diff e git show, gerenciar a preparação e desfazer com git reset e git restore.
Este tutorial cobre as operações que você usa quando o ciclo básico de commit já é automático: trabalhar em branches, olhar mudanças de perto, e gerenciar ou desfazer o que está preparado. Tornam o Git diário produtivo e seguro.
Branches: git branch e git checkout
git branch feature # criar uma branch
git checkout feature # trocar para ela
git checkout -b feature # criar e trocar em um passo
Uma branch é uma linha de trabalho independente. git branch cria uma; git checkout muda para ela. Trabalhar em uma branch mantém main estável enquanto você experimenta.
Versões mais novas do Git acrescentam git switch para trocar de branch e git switch -c para criar. checkout faz ambos e é o que você pratica aqui.
Inspecionar mudanças: git diff e git show
git diff # mudanças não preparadas
git diff --staged # mudanças preparadas
git show # o commit mais recente em detalhes
git diff mostra o que você mudou mas ainda não preparou; git diff --staged mostra o que está preparado. git show exibe o conteúdo completo de um commit. Respondem "o que mudou exatamente?" antes e depois do commit.
Gerenciar a preparação e desfazer: git restore e git reset
git restore index.html # descartar edições não commitadas de um arquivo
git restore --staged index.html # tirar um arquivo da preparação (manter edições)
git reset --soft HEAD~1 # desfazer o último commit mantendo mudanças preparadas
git restore é a ferramenta moderna e focada para descartar mudanças em arquivos de trabalho ou tirar da preparação. git reset move o ponteiro da branch e pode tirar da preparação ou desfazer commits.
git restore <arquivo> descarta de forma permanente as edições não commitadas desse arquivo. git restore --staged apenas tira da preparação, mantendo suas edições. Saiba qual está executando antes de executar.
Juntando tudo
Um fluxo realista: criar uma branch com git checkout -b, fazer mudanças, revisar com git diff, preparar e commitar, e usar git restore ou git reset para corrigir enganos. É o conjunto de ferramentas do dia a dia em que os tutoriais de solução de problemas se apoiam.