Como remover arquivos não raspados em Git

Suraj Joshi 6 fevereiro 2023
  1. Listar todos os arquivos e diretórios desempilhados
  2. Remover arquivos e diretórios não rastreados
  3. Remover Arquivos e Diretórios Ignorados
Como remover arquivos não raspados em Git

Enquanto trabalhamos em um projeto, temos muitos arquivos desnecessários que são auto-criados ou criados por engano. Adicionamos tais arquivos em .gitignore para torná-los desracked por Git. Para tornar nosso repositório limpo, precisamos remover tais arquivos. Para remover arquivos não rastreados em Git, utilizamos o comando git clean.

Listar todos os arquivos e diretórios desempilhados

Antes de remover todos os arquivos e diretórios não rastreados, é melhor listar todos os arquivos e pastas não rastreados porque, uma vez removidos os arquivos e diretórios, é difícil restaurá-los.

Para visualizar todos os arquivos e diretórios não rastreados no repositório de trabalho atual, podemos utilizar o comando git status.

git status

Resultado:

On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

	jpt/
	main.pyc

nothing added to commit but untracked files present (use "git add" to track)

Isto mostra o diretório jpt/ e o arquivo main.pyc estão desmarcados.

Também podemos utilizar o comando git clean com a opção -n para listar todos os arquivos e diretórios não rastreados que serão apagados.

git clean -d -n

Resultado:

Would remove jpt/
Would remove main.pyc

A opção -d é para listar os diretórios que vão ser excluídos.

Se algum dos arquivos ou diretórios listados pelo comando for importante e quisermos mantê-los, precisamos adicioná-los ao repositório utilizando o comando git add ou listá-los no arquivo .gitignore.

Remover arquivos e diretórios não rastreados

Um que temos a certeza de remover todos os arquivos e diretórios não rastreados, podemos usar o seguinte comando para remover todos os arquivos e diretórios não rastreados.

git clean -d -f

Resultado:

Removing jpt/
Removing main.pyc

Ele removerá todos os arquivos e diretórios não rastreados. Para remover somente os arquivos, não devemos utilizar a opção -d para remover os diretórios. A opção -f é forçar a remoção dos arquivos e diretórios não rastreados.

Para verificar se todos os arquivos e diretórios não rastreados foram removidos, podemos utilizar o git clean -d -n para listar todos os arquivos e diretórios não rastreados. Se não listar nenhum arquivo e diretórios, significa que todos os arquivos e diretórios não rastreados são removidos.

Podemos utilizar a opção -i junto com o comando git clean para excluir os arquivos e diretórios não rastreados interativamente.

git clean -d -i

Resultado:

Would remove the following items:
  jpt/      main.pyc
*** Commands ***
    1: clean                2: filter by pattern    3: select by numbers
    4: ask each             5: quit                 6: help
What now> 

Isto nos alertará, e outras operações serão realizadas com base em nossas entradas.

Remover Arquivos e Diretórios Ignorados

Para remover todos os arquivos e diretórios não rastreados e ignorados, adicionamos a opção -x ao comando git clean.

git clean -d -f -x

Para remover somente arquivos e diretórios ignorados, adicionamos a opção -X ao comando git clean.

git clean -d -f -X
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artigo relacionado - Git Tracking