Como usar: Gerador de comandos do Git
- Encontre sua tarefa na lista ou procure por ela — “desfazer”, “renomear”, “armazenar”, “mesclar”.
- Preencha os nomes dos branches, os hashes de commit ou os caminhos dos arquivos necessários para a tarefa.
- Dá uma olhada na explicação abaixo de cada comando; as etapas marcadas como “reescrevem o histórico” ou “destrutivas” exigem cuidado em branches compartilhados.
- Copie um único comando ou todos eles e execute-os no seu terminal a partir da pasta do repositório.
Como desfazer ações no Git — qual comando usar em cada caso?
| Situação | Comando | É seguro reverter commits já enviados? |
|---|---|---|
| Desfazer o último commit, mantendo as alterações | git reset --soft HEAD~1 | Não — reescreve o histórico |
| Desfazer um commit que outras pessoas já baixaram | git revert <hash> | Sim — adiciona um novo commit |
| Descartar as alterações não confirmadas em um arquivo | git restore <file> | Apenas local |
| Corrige a mensagem do último commit | git commit --amend | Não — reescreve o histórico |
| Põe o trabalho em andamento em espera | git stash push -m "…" | Apenas local |
Reescrevendo o histórico com segurança
Comandos como reset, commit --amend e `interactive` rebase criam novos commits com novos hashes. Isso tudo bem no seu próprio branch, mas em um branch compartilhado o histórico de todo mundo deixa de bater. Se você precisar enviar um histórico reescrito, use git push --force-with-lease: ao contrário do --force, ele não sobrescreve commits no remoto que você ainda não viu.
Comandos modernos: switch e restore
Desde o Git 2.23, git switch (mudar de branch) e git restore (restaurar arquivos) dividiram o comando sobrecarregado git checkout em dois comandos mais claros. Esse gerador usa eles quando isso deixa as coisas mais claras. Antes de fazer o push, mantenha seu repositório limpo com um .gitignore adequado, escreva notas de lançamento com o Gerador de Changelog e escolha números de versão com a Calculadora de Versão Semântica.
Também pesquisado como: git desfazer o último commit, git renomear ramo, git delete ramo remoto, git squash commits, guia rápido do git, git revert commit enviado, git remover arquivo do controle de versão, git force com lease.
Ferramentas que combinam com: Gerador de comandos do Git
- Conventional Commit Builder — Write commit messages that follow the Conventional Commits spec without memorizing it.
- Gerador de fluxos de trabalho do GitHub Actions — Escolha sua pilha, gatilhos e etapas e receba um arquivo .github/workflows/ci.yml — instalação, cache, verificação de código, teste, compilação, uma matriz de versões e, opcionalmente, implantação no GitHub Pages, Vercel ou em um registro de contêineres.
- README Generator — Fill in a few fields and get a clean, GitHub-ready README.md — badges, installation, usage example, configuration table, environment variables, roadmap and license — with a live preview and a completeness check.
- YAML Validator — Paste a Docker Compose file, Kubernetes manifest, GitHub Actions workflow or any YAML to pinpoint errors, catch common pitfalls and get a cleanly formatted version.
Perguntas frequentes
Como faço para desfazer o último commit, mas manter minhas alterações?
git reset --soft HEAD~1. O commit some, e as alterações continuam na área de preparação. Usa --mixed (a opção padrão) para mantê-las fora da fila de confirmação. Não faça isso em commits que você já enviou para um branch compartilhado — use git revert ali.Qual é a diferença entre o `git reset` e o `git revert`?
reset retrocede o ponteiro do branch e remove os commits do histórico. revert mantém o histórico e adiciona um novo commit que desfaz as alterações, o que é seguro para os commits que outras pessoas já têm.Como faço para renomear um branch localmente e no GitHub?
git branch -m old new, envie o novo nome com git push -u origin new e apague o antigo com git push origin --delete old. Atualiza o branch padrão nas configurações do GitHub, se precisar.O comando `git push --force` é perigoso?
--force-with-lease, que só sobrescreve o branch remoto se ele ainda estiver onde você o viu pela última vez.