Veja como limpar o Git e remover arquivos não rastreados

Arquivos não rastreados podem bagunçar sua árvore de trabalho do Git e bagunçar as coisas no futuro. Às vezes, esses arquivos não rastreados podem ser de texto ou outros arquivos que você não quer em seu repositório remoto ou aqueles que você criou por engano de uma forma ou de outra após preparar um commit.

Seja qual for o caso, é sempre útil limpar sua árvore de trabalho do Git para remover esses arquivos.

O que são arquivos não rastreados durante um Git Commit?

Se você atualizou alguns arquivos existentes em seu projeto e também adicionou novos arquivos localmente e deseja enviar essa atualização para seu repositório remoto no GitHub, o Git requer que você prepare essas alterações para confirmação.

Uma mera atualização que você faz em arquivos pré-existentes que você já enviou não os remove dos arquivos rastreados.

Quando você prepara uma atualização para confirmação, novos arquivos também são testados com eles e o Git os adiciona aos arquivos rastreados. No entanto, novos arquivos que você adiciona ao seu projeto após preparar o seu commit não são rastreados.

Eles podem ser arquivos sem importância ou sobras que você usou temporariamente ou aqueles que aparecem de uma forma ou de outra após a fusão ou envio de algumas alterações. Consequentemente, esses arquivos não rastreados ainda se escondem em sua árvore de trabalho, e quando você executa git status , o Git os retorna como arquivos não rastreados.

Você pode excluir esses arquivos limpando sua árvore de trabalho do Git. Caso contrário, se ainda achar que precisa de alguns deles localmente, você pode adicioná-los ao arquivo .gitignore . Os arquivos que você adicionar a .gitignore não serão afetados pela limpeza, não se você decidir incluí-los.

Limpar o Git é tão fácil quanto excluir um branch do Git local ou remotamente . Vamos ver as várias maneiras de limpar o Git para excluir arquivos ou pastas não rastreados abaixo.

Como limpar o Git e remover arquivos ou pastas não rastreados

Antes de remover arquivos não rastreados, você deve verificar novamente para garantir que deseja excluí-los. Para fazer isso, execute o código abaixo:

 git clean -d -n

O comando retorna todas as pastas e arquivos não rastreados que o Git removerá da sua árvore de trabalho.

Para remover esses arquivos e diretórios, execute:

 git clean -d -f

Para remover arquivos apenas sem excluir pastas, use:

 git clean -f

Embora os métodos acima não removem os arquivos listados em .gitignore , você também pode usar o comando abaixo para limpar os itens listados no arquivo .gitignore :

 git clean -fx

Para remover apenas arquivos ignorados sem incluir outros arquivos, desta vez, altere o "x" minúsculo para um "X" maiúsculo:

 git clean -fX

Para verificar se ainda há arquivos não testados em sua árvore de trabalho, execute o seguinte comando:

 git status

Você também pode limpar o Git interativamente usando:

 git clean -i

Para incluir arquivos em .gitignore no modo de limpeza interativo, use:

 git clean -ix

Para limpar arquivos listados em .gitignore usando apenas o modo interativo, execute o seguinte comando. Certifique-se de usar o "X" maiúsculo desta vez:

 git clean -ifX

Quando o modo interativo é ativado, você pode escolher filtrar os arquivos por número ou padrões de string. Você também pode selecionar a opção perguntar se para verificar cada arquivo antes de excluí-lo. Se desejar, você pode selecionar a opção limpar para remover os arquivos imediatamente.

A execução de git status fornece informações de teste atuais e, se houver arquivos ou pastas não testados, ele também informa.

Ainda vê os arquivos removidos como não rastreados após executar o Git Clean?

No entanto, depois de verificar o status do Git, se os arquivos removidos anteriormente ainda estiverem aparecendo na seção de arquivos não rastreados, você deve limpar o cache do Git. Em seguida, execute git clean novamente para remover os arquivos.

Relacionado: Como clonar um repositório usando o GitHub Desktop

Para limpar o cache Git:

 git rm -r --cached [filename]

Se você ainda tiver mais de um arquivo aparecendo após a limpeza do Git, use o seguinte comando para limpar o cache do Git para cada arquivo:

 git rm -r --cached [filename1] [filename2] [filename3]...

No entanto, certifique-se de adicionar a extensão de arquivo para cada um dos arquivos e lembre-se de limpar o Git novamente para removê-los.

Por que você precisa limpar o Git para remover arquivos não rastreados?

Às vezes, você deseja organizar as coisas em sua árvore de trabalho do Git antes de deixar um projeto para outra hora. É provável que você empurre ou mescle as últimas alterações feitas no projeto para garantir que possa continuar exatamente de onde parou na próxima vez.

Mas ao enviar ou mesclar, alguns arquivos que você não deseja em seu repositório podem entrar por engano.

Deixar de verificar esses arquivos e removê-los pode bagunçar seu repositório remoto, pois eles serão enviados na próxima vez que você fizer uma atualização em seu repositório remoto. Além disso, esses arquivos podem quebrar coisas ao implantar em plataformas como Heroku, que usa git para implantação.

Portanto: mantenha seu Git limpo!