Folha de Dicas de Comandos Git

Próximo

O Git tem cerca de 150 subcomandos e vários deles parecem perigosamente semelhantes, reset vs restore, checkout vs switch, rm vs restore --staged. Esta folha de dicas agrupa os comandos que você realmente digita por situação: fluxo de trabalho diário, ramificação, desfazendo erros e armazenando. Escolha o grupo e copie o bloco.

Como usar a folha de dicas

  1. 1

    Escolha um tópico

    Diário, ramificação, desfazer ou stash, cada um mapeia para um modo mental diferente.

  2. 2

    Escaneie o bloco

    Cada linha é um comando completo e funcional, sem espaços reservados entre colchetes angulares, a menos que explicitamente marcado.

  3. 3

    Copie o que você precisa

    Cole no seu terminal, ajuste o nome da ramificação ou o SHA do commit e execute.

Por que os comandos ainda confundem usuários experientes

O porcelanato do Git cresceu por acréscimo. checkout foi sobrecarregado para “trocar de ramificação” e “restaurar arquivo”; reset fica entre “descartar trabalho” e “mover o ponteiro da ramificação”. Desde o Git 2.23, existem verbos mais claros:

Antigo Novo (mais claro)
git checkout branch git switch branch
git checkout -b new git switch -c new
git checkout -- file git restore file
git checkout --staged file git restore --staged file

A escada de desfazer segura

  1. Restaurar um arquivo: git restore path/to/file (não preparado) ou git restore --staged path/to/file (preparado, mas não comitado).
  2. Desfazer o último commit, manter alterações: git reset --soft HEAD~1.
  3. Desfazer o último commit, descartar alterações: git reset --hard HEAD~1 (destrutivo; verifique se você não tem trabalho não comitado).
  4. Reverter um commit compartilhado: git revert <sha>, cria um novo commit que anula o antigo; seguro em histórico enviado.

Etiqueta do stash

  • Sempre faça stash com uma mensagem: git stash push -m "wip: conectando api".
  • Liste os stashes com git stash list antes de aplicar, stashes anônimos se acumulam rapidamente.
  • git stash pop aplica e exclui; git stash apply aplica e mantém.

Recuperação

Perdeu um commit após um reset duro? Provavelmente ainda está no reflog. Execute git reflog para ver cada movimento de HEAD dos últimos 90 dias e git reset --hard <sha> para voltar a um estado bom.

Perguntas frequentes

Desde o Git 2.23 (agosto de 2019), o projeto dividiu o verbo sobrecarregado checkout em dois. switch muda de ramificação, restore corrige arquivos. Ambos ainda existem para compatibilidade retroativa, mas são mais fáceis de ler quando você revisita o histórico do shell.

reset move o ponteiro da ramificação (e opcionalmente a árvore de trabalho). revert cria um novo commit que desfaz um anterior, seguro em uma ramificação compartilhada. checkout / restore altera arquivos na árvore de trabalho sem reescrever o histórico.

Use git revert <sha> para adicionar um commit compensatório e enviá-lo. Evite git reset --hard + git push --force em ramificações compartilhadas, a menos que a equipe tenha concordado explicitamente.

Os comandos são texto estático renderizado na página. O tópico escolhido é enviado ao servidor apenas para exibir os comandos correspondentes e é levado no link da página quando você avança entre as duas etapas. Ele não é armazenado nem registrado.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas