Curso
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. 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.
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. 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. 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. 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. 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. 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 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 reset
comgit clean
, em quegit reset --hard
restaura os arquivos rastreados para o último estado de confirmação egit 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, ogit 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 comandogit 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 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 -n
antes 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 importantes -
Abordagens alternativas: Em alguns cenários, usar
git stash
pode ser uma opção melhor do quegit clean
. O comandogit stash -u
armazena os arquivos não rastreados, excluindo os arquivos ignorados para possível recuperação posterior, e ogit 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
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.