Git: Como deletar todos os arquivos não rastreados?

34

Estou usando o Git para controle de versão. Agora eu quero apagar na minha máquina local todos os arquivos no repositório que não são rastreados.

eu posso usar

git status

para listar esses arquivos, mas como posso excluir todos eles?

    
por RoflcoptrException 14.09.2011 / 15:49

4 respostas

49

Se você tiver ignorado, use git clean -xf . Você pode fazer git clean -df , mas isso também removerá os diretórios não rastreados. Use -n para um dry-run.

Veja limpeza sem rastreamentos

    
por 14.09.2011 / 16:17
5
git clean -f
    
por 14.09.2011 / 16:09
3

Abordagem interativa do usuário:

git clean -i -fd

Remove .classpath [y/N]? N
Remove .gitignore [y/N]? N
Remove .project [y/N]? N
Remove .settings/ [y/N]? N
Remove src/com/amazon/arsdumpgenerator/inspector/ [y/N]? y
Remove src/com/amazon/arsdumpgenerator/manifest/ [y/N]? y
Remove src/com/amazon/arsdumpgenerator/s3/ [y/N]? y
Remove tst/com/amazon/arsdumpgenerator/manifest/ [y/N]? y
Remove tst/com/amazon/arsdumpgenerator/s3/ [y/N]? y

-i para interativo
-f para arquivo
-d para o diretório

Nota: Adicione -n ou - dry-run para verificar o que é vai fazer.

    
por 14.06.2017 / 06:09
2

Há uma sutileza que vale a pena mencionar sobre git clean -f em relação a arquivos e diretórios não acompanhados. Se você tiver um diretório não rastreado que contenha arquivos que, a fortiori, não sejam rastreados, o git clean -f NÃO excluirá esses arquivos não rastreados.

Em outras palavras, nem sempre é o caso em que git clean -f excluirá todos os arquivos não acompanhados. Uma explicação melhor de git clean -f é que ele exclui todos os arquivos não rastreados que não estão em diretórios não rastreados.

git clean -f -d deve ser usado para excluir arquivos não rastreados que estão em diretórios não rastreados e parece não haver nenhuma maneira de excluir todos os arquivos não rastreados sem também excluindo diretórios não rastreados contém apenas arquivos não acompanhados.

Use git clean -f -d -n para REALMENTE ver o que você deseja fazer para restaurar seu diretório de trabalho para o que seria sem nenhum arquivo não rastreado. Em seguida, use git clean -f -d para fazer isso.

    
por 02.03.2017 / 00:19

Tags