Pular para o conteúdo principal

Git Clean: Remover arquivos não rastreados e manter os repositórios organizados

Domine o git clean para remover com segurança arquivos e diretórios não rastreados. Aprenda as principais opções, o modo interativo e as práticas recomendadas para evitar a perda de dados.
Actualizado 7 de mar. de 2025  · 8 min de leitura

Ao trabalhar em um repositório Git, é comum acumular arquivos e diretórios não rastreados que não fazem parte do sistema de controle de versão do repositório. Eles podem incluir arquivos temporários, artefatos de compilação ou outros arquivos criados localmente que não são confirmados. Com o passar do tempo, esses arquivos podem sobrecarregar o diretório de trabalho, dificultando a manutenção de um espaço de trabalho limpo e organizado.

Para resolver esse problema, o Git fornece o comando git clean, que remove arquivos e diretórios não rastreados. Neste guia, mostrarei a você como usar com segurança o git clean, suas diferentes opções e práticas recomendadas para evitar a exclusão não intencional de arquivos e, ao mesmo tempo, manter o repositório Git organizado. Para aprender mais, eu recomendo que você faça nossos cursos Foundations of Git e Introduction to GitHub Concepts para aprender sobre controle de versão e a diferença entre Git e GitHub.

Entendendo o git clean

O comando git clean é uma ferramenta útil no Git que remove arquivos não rastreados do diretório de trabalho. O comando git clean é útil quando você precisa redefinir o diretório de trabalho para um estado puro, como antes de trocar de ramificação ou depois de executar processos de compilação que geram arquivos temporários. No entanto, o comando git clean deve ser usado com cautela, pois exclui permanentemente arquivos e diretórios não rastreados sem movê-los para a lixeira ou para a lixeira.

Ao contrário dos programas git reset ou git checkout, que modificam os arquivos programados, o git clean lida estritamente com arquivos e diretórios que não estão sob controle de versão. Isso inclui:

  • Arquivos temporários criados por compilações

  • Arquivos de registro ou dados em cache

  • Arquivos listados em .gitignore (se explicitamente especificados com -x)

O comando git clean é útil para manter um diretório de trabalho organizado, complementando outros comandos do Git, como git reset e git checkout, que gerenciam alterações em arquivos rastreados.

Considero o Complete Git Cheat Sheet um guia de referência útil para comandos comuns do Git.

Usos comuns do git clean

O comando git clean é uma ferramenta útil para manter um diretório de trabalho limpo. Abaixo estão alguns casos de uso comuns em que o git clean pode remover com segurança arquivos e diretórios desnecessários.

Remoção de arquivos não rastreados

Ao trabalhar em um repositório Git, os arquivos não rastreados podem se acumular com o tempo. As opções a seguir ajudam a removê-los:

  • git clean -f: Força a remoção de arquivos não rastreados.

  • git clean -fd: Remove arquivos e diretórios não rastreados.

  • git clean -fx: Remove arquivos não rastreados e ignorados, como os listados em .gitignore.

No entanto, você deve ter cuidado ao usar a opção -fx, pois ela também remove arquivos ignorados. Sempre verifique usando uma execução seca (git clean -n) antes de executar o comando.

Modo interativo

O comando git clean -i ativa um modo interativo, permitindo que os usuários removam seletivamente arquivos não rastreados. Esse modo é útil quando você deseja ter mais controle sobre quais arquivos ou diretórios são excluídos.

Suponha que você esteja trabalhando em um projeto no qual já salvou as alterações na pasta Olympics. No entanto, você adicionou novas fontes de dados denominadas 2024_Data, e 2025_Data. Se você executar o comando git clean -i, receberá um prompt que lhe permitirá escolher entre as seguintes opções para excluir as alterações não rastreadas.

  • clean:  Remover arquivos selecionados

  • filter: Especifique um padrão para os arquivos a serem limpos

  • select: Escolha arquivos individuais por número

  • quit: Sair sem excluir nada

git clean -i modo interativo.

git clean -i modo interativo. Imagem do autor.

Teste de segurança

Usar a opção git clean -n é uma medida de segurança útil, pois ela executa uma "execução seca", exibindo uma lista de arquivos e diretórios não rastreados que seriam removidos sem realmente excluí-los. Isso permite que você revise as alterações antes de executá-las.

No exemplo abaixo, o comando git clean -n lista os arquivos que devem ser excluídos, mas não os exclui.

git clean -n para execução a seco.

git clean -n para execução a seco. Imagem do autor.

Combinando com o git reset

Para redefinir totalmente um diretório de trabalho do Git, você pode combinar o git reset and git clean where:

  • git reset --hard: Redefine os arquivos rastreados para o último estado de confirmação, descartando quaisquer alterações locais.

  • git clean -fd: Remove arquivos e diretórios não rastreados, deixando apenas os arquivos confirmados.

Essa combinação garante um diretório de trabalho completamente limpo, o que o torna útil ao trocar de ramificação, desfazer alterações experimentais ou se preparar para um novo começo.

Confira ou Git Pull Force: Como substituir uma ramificação local com o tutorial remoto para que você aprenda as práticas recomendadas para substituir alterações locais.

Guia passo a passo para usar o git clean

Siga estas etapas para limpar com segurança seu repositório Git e remover arquivos e diretórios não rastreados indesejados.

Etapa 1: Verificar o estado atual

Antes de limpar, execute git status para verificar o estado atual do seu repositório e ver quais arquivos não foram rastreados.

git status

git status para verificar o estado atual do repositório.

git status para verificar o estado atual do repositório. Imagem do autor.

Etapa 2: Visualizar o que será removido

Antes de executar qualquer comando de remoção, use git clean -n para visualizar o que será removido.

git clean -n

git clean -n para visualizar o que você deseja excluir.

git clean -n para visualizar o que você deseja excluir. Imagem do autor.

Etapa 3: Remover arquivos não rastreados

Execute git clean -f para remover arquivos não rastreados se a visualização parecer correta.

git clean -f

Remova as alterações não rastreadas usando o git clean -f.

Remova as alterações não rastreadas usando o git clean -f. Imagem do autor.

Etapa 4: Remover diretórios não rastreados

Use git clean -fd para remover diretórios não rastreados.

git clean -fd

Remova os diretórios não rastreados usando o git clean -fd.

Remova os diretórios não rastreados usando o git clean -fd. Imagem do autor.

Etapa 5: Remover arquivos ignorados

Para remover arquivos não rastreados e ignorados, use o comando git clean -fx.

git clean -fx

Etapa 6: Use o modo interativo para limpeza seletiva

Para obter mais controle, considere o uso do site git clean -i para remoção interativa. Esse modo permite que você selecione os arquivos a serem excluídos individualmente.

Git clean -i

git clean -i modo interativo para limpeza seletiva.

git clean -i modo interativo para limpeza seletiva. Imagem do autor.

git clean vs. git clean. Outros comandos do Git

O comando git clean é frequentemente comparado a outros comandos do Git que modificam ou redefinem arquivos. A tabela abaixo destaca as principais diferenças:

Comando Função
git clean Remove permanentemente os arquivos e diretórios não rastreados.
git reset Redefine os arquivos rastreados para um estado anterior, afetando as alterações preparadas e confirmadas.
git checkout (ou git restore) Descarta as alterações nos arquivos programados, mas não as remove.
git stash Salva temporariamente as alterações programadas e não programadas para que você possa usá-las posteriormente.

Práticas recomendadas de limpeza do Git

Para usar o site git clean com segurança e eficácia, siga estas práticas recomendadas:

  • Use Dry Runs (-n) antes da exclusão: Sempre use a opção git clean -n para realizar uma execução seca antes de executar git clean. Isso permite que você visualize quais arquivos serão removidos sem realmente excluí-los.

  • Tenha cuidado com os arquivos ignorados: Ao usar git clean, tenha cuidado com a opção -x, que remove os arquivos ignorados. Isso pode excluir arquivos de configuração importantes listados em .gitignore. Se você precisar remover arquivos ignorados, use o comando git clean -fx.

  • Combine com o Git Reset para uma limpeza completa: Para redefinir completamente o repositório, combine git reset com git clean, em que git reset --hard restaura os arquivos rastreados para o último estado de confirmação e git clean -fd remove os arquivos e diretórios não rastreados.

  • Use o modo interativo (-i) para obter exclusões mais seguras: Em vez de remover arquivos às cegas, use o modo interativo (git clean -i) para revisar e selecionar os arquivos a serem excluídos.

Riscos potenciais e precauções

O uso do git clean pode ser arriscado se não for feito com cuidado, pois ele exclui permanentemente os arquivos sem armazená-los em lugar algum. Aqui estão alguns dos principais riscos e precauções que você deve considerar:

  • Os arquivos são excluídos permanentemente: Ao contrário do git stash, que salva temporariamente as alterações, o git clean exclui permanentemente os arquivos e diretórios não rastreados. Uma vez removidos, esses arquivos não podem ser recuperados por meio do Git. Se você precisar dos arquivos mais tarde, considere armazená-los ou fazer backup deles antes de executar o comando git clean.

  • Seja cauteloso com a opção -x: Usar git clean-fx remove os arquivos ignorados, que podem incluir arquivos de configuração importantes listados em .gitignore ou caches de dependência como node_modules/ e venv/. A remoção acidental desses arquivos pode interromper as compilações ou os ambientes de desenvolvimento, portanto, use essa opção somente quando necessário.

  • Faça um teste a seco primeiro: Sempre faça uma simulação usando git clean -n antes de executar git clean -f. Essa etapa permite que você visualize quais arquivos serão excluídos, ajudando a evitar a remoção acidental de arquivos importantes

  • Abordagens alternativas: Em alguns cenários, usar git stash pode ser uma opção melhor do que git clean. O comando git stash -u armazena os arquivos não rastreados, excluindo os arquivos ignorados para possível recuperação posterior, e o git stash pop restaura as alterações armazenadas, se necessário. Esse método é útil quando você precisa trocar de ramificação ou limpar o espaço de trabalho sem perder permanentemente as alterações.

Conclusão

Uma base de código bem mantida demonstra atenção aos detalhes, eficiência e capacidade de gerenciar ativos digitais com responsabilidade. Os empregadores procuram desenvolvedores que entendam as práticas recomendadas, como usar git clean -n antes de excluir arquivos, ser cauteloso com arquivos ignorados usando -x e usar alternativas mais seguras como git stash.

Fazer cursos da DataCamp não é apenas uma ótima maneira de aprender, mas também uma ótima maneira de mostrar aos empregadores que você leva o desenvolvimento de software a sério. Para isso, recomendo que você estude a publicação do blog Top 20 Git Interview Questions and Answers for All Levels (As 20 principais perguntas e respostas da entrevista sobre o Git para todos os níveis ) e faça o nosso novo programa de habilidades Git Fundamentals (Fundamentos do Git ) para se tornar um especialista em tudo relacionado ao Git.

Aprenda hoje os fundamentos do Git

Para iniciantes: Controle de versão principal usando o Git.
Comece a aprender de graça

Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Eu crio artigos que simplificam a ciência e a análise de dados, tornando-as fáceis de entender e acessíveis.

Perguntas frequentes sobre o Git Clean

O que o git clean faz?

git clean remove arquivos e diretórios não rastreados do seu diretório de trabalho do Git.

O git clean exclui os arquivos confirmados?

Não, o site git clean remove apenas os arquivos não rastreados e não afeta os arquivos confirmados ou preparados.

Como posso visualizar os arquivos antes de excluí-los?

Use o site git clean -n para executar uma simulação e ver quais arquivos serão removidos.

Qual é a diferença entre git clean -f e git clean -fd?

git clean -f remove arquivos não rastreados, enquanto git clean -fd também remove diretórios não rastreados.

Como o git clean é diferente do git reset?

git clean remove arquivos não rastreados, enquanto git reset restaura os arquivos rastreados para um estado anterior.

Existe uma maneira de excluir arquivos seletivamente?

Sim, use git clean -i para o modo interativo, que permite que você escolha os arquivos a serem excluídos.

Temas

Aprenda Git com a DataCamp

curso

Introduction to Git

2 hr
15.6K
Discover the fundamentals of Git for version control in your software and data projects.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado
Git

blog

O que é Git? Manual completo do Git

Saiba mais sobre o sistema de controle de versão mais conhecido e por que é uma ferramenta de colaboração indispensável para cientistas de dados e programadores.
Summer Worsley's photo

Summer Worsley

14 min

tutorial

Git Prune: O que é o Git Pruning e como usar o Git Prune

O Git prune é um comando do Git que remove objetos do repositório que não são mais acessíveis a partir de qualquer commit ou branch, ajudando a liberar espaço em disco.
François Aubry's photo

François Aubry

5 min

tutorial

Git Rename Branch: Como renomear uma filial local ou remota

Saiba como renomear ramificações locais e remotas do Git usando o terminal ou a interface gráfica do usuário (GUI) de clientes populares como o GitHub.
François Aubry's photo

François Aubry

tutorial

Git Pull Force: Como substituir uma ramificação local por uma remota

Saiba por que o git pull --force não é a melhor maneira de substituir uma ramificação local pela versão remota e descubra o método adequado usando git fetch e git reset.
François Aubry's photo

François Aubry

tutorial

Tutorial do GitHub e do Git para iniciantes

Um tutorial para iniciantes que demonstra como funciona o controle de versão do Git e por que ele é crucial para projetos de ciência de dados.
Abid Ali Awan's photo

Abid Ali Awan

17 min

tutorial

Tutorial de push e pull do GIT

Saiba como realizar solicitações Git PUSH e PULL por meio do GitHub Desktop e da linha de comando.

Olivia Smith

13 min

Ver maisVer mais