git clean
Remove arquivos não rastreados do diretório de trabalho
O comando 'git clean' exclui arquivos não rastreados — arquivos que o Git nunca guardou, como logs, saídas de build ou experimentos. Como o Git não tem cópia deles, arquivos excluídos não podem ser recuperados. Por isso git clean se recusa a rodar sem -f, e git clean -n mostra antes o que seria excluído. Arquivos do .gitignore são mantidos, a menos que você adicione -x.
Sinopse
git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] [<pathspec>...]Opções
Escolhendo a opção certa
O que cada comando remove
Rastreado ou não rastreado
| Comando | Arquivos não rastreados | Arquivos ignorados | Edições em arquivos rastreados |
|---|---|---|---|
git clean -f | Apagado | Mantido | Mantido |
git clean -f -x | Apagado | Apagado | Mantido |
git restore . | Mantido | Mantido | Descartado |
git stash -u | Guardado no stash | Mantido | Guardado no stash |
Exemplos
Prévia
git clean -nLista os arquivos não rastreados que seriam excluídos.
Excluir arquivos não rastreados
git clean -fExclui-os de vez.
Pastas também
git clean -fdTambém exclui pastas não rastreadas.
Exemplos de fluxos de trabalho
git status -sVer os arquivos não rastreados (??)
git clean -nPré-visualizar a exclusão
git clean -fExcluí-los
Solução de problemas
fatal: clean.requireForce is true and -f not given
Causa: git clean se recusa a apagar sem -f
Execute git clean -n para pré-visualizar e depois git clean -f
Uma pasta não rastreada não foi excluída
Causa: Pastas precisam de -d
Use git clean -fd
Excluí um arquivo de que precisava
Causa: Arquivos não rastreados não têm cópia no Git
O Git não pode restaurá-lo; verifique seu editor ou backups. Da próxima vez use git stash -u
Dicas e armadilhas
Boas práticas
- ✓Sempre execute git clean -n antes de git clean -f.
- ✓Use git stash -u se talvez precisar dos arquivos depois.
- ✓Reserve -x para pastas de build que você pode gerar de novo.
Erros comuns
- ✗Executar git clean -f sem -n antes e perder um arquivo de que ainda precisava.
- ✗Adicionar -x por hábito e excluir arquivos ignorados como .env.
- ✗Esperar que git clean desfaça edições em arquivos rastreados — para isso use git restore.
Perguntas frequentes
Não. Os arquivos nunca foram guardados no Git.
Não. Ele só exclui arquivos não rastreados (e com -x, os ignorados).
Sim: git clean -i deixa você escolher os arquivos um a um.