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.
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.
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. 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. 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.
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 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.
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.
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.
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.
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.
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 ogit 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 comandogit 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 comandogit cleandeve 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 resetougit checkout, que modificam os arquivos programados, ogit cleanlida 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, comogit resetegit 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 ogit cleanpode 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 -iativa 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 denominadas2024_Data,e2025_Data. Se você executar o comandogit 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 selecionadosfilter: Especifique um padrão para os arquivos a serem limposselect: Escolha arquivos individuais por númeroquit: Sair sem excluir nadagit 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 -nlista os arquivos que devem ser excluídos, mas não os exclui.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 cleanwhere: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 statuspara verificar o estado atual do seu repositório e ver quais arquivos não foram rastreados.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 -npara visualizar o que será removido.git clean -n para visualizar o que você deseja excluir. Imagem do autor.
Etapa 3: Remover arquivos não rastreados
Execute
git clean -fpara remover arquivos não rastreados se a visualização parecer correta.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 -fdpara remover diretórios não rastreados.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.Etapa 6: Use o modo interativo para limpeza seletiva
Para obter mais controle, considere o uso do site
git clean -ipara remoção interativa. Esse modo permite que você selecione os arquivos a serem excluídos individualmente.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:git cleangit resetgit checkout(ougit restore)git stashPráticas recomendadas de limpeza do Git
Para usar o site
git cleancom 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 -npara realizar uma execução seca antes de executargit 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 comandogit clean -fx.Combine com o Git Reset para uma limpeza completa: Para redefinir completamente o repositório, combine
git resetcomgit clean, em quegit reset --hardrestaura os arquivos rastreados para o último estado de confirmação egit clean -fdremove 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 cleanpode 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, ogit cleanexclui 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 comandogit clean.Seja cauteloso com a opção -x: Usar
git clean-fxremove os arquivos ignorados, que podem incluir arquivos de configuração importantes listados em.gitignoreou caches de dependência comonode_modules/evenv/. 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 -nantes de executargit clean -f. Essa etapa permite que você visualize quais arquivos serão excluídos, ajudando a evitar a remoção acidental de arquivos importantesAbordagens alternativas: Em alguns cenários, usar
git stashpode ser uma opção melhor do quegit clean. O comandogit stash -uarmazena os arquivos não rastreados, excluindo os arquivos ignorados para possível recuperação posterior, e ogit stash poprestaura 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 -nantes de excluir arquivos, ser cauteloso com arquivos ignorados usando-xe usar alternativas mais seguras comogit 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.