Estou usando o Git para controle de versão. Agora eu quero excluir 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?
Estou usando o Git para controle de versão. Agora eu quero excluir 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?
Respostas:
Se você o ignorar, use git clean -xf
. Você pode fazer git clean -df
isso, mas isso também removerá diretórios não rastreados. Use -n
para uma corrida a seco.
Veja a limpeza não rastreada
-xf
irá excluir e os arquivos ignorados e provavelmente não é isso que você deseja. Use -nf
e continue com cuidado. Veja: stackoverflow.com/questions/61212/…
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 o arquivo
-d para o diretório
Nota: Adicione -n ou --dry-run para verificar apenas o que ele fará.
Há uma sutileza que vale a pena mencionar sobre git clean -f
arquivos e diretórios não rastreados. Se você tiver um diretório não rastreado que contenha arquivos que, a fortiori, não sejam rastreados, git clean -f
NÃO excluirá esses arquivos não rastreados.
Em outras palavras, nem sempre é o caso que git clean -f
excluirá todos os arquivos não rastreados. Uma explicação melhor 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 maneira de excluir todos os arquivos não rastreados sem também excluir diretórios não rastreados que contêm apenas arquivos não rastreados.
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 arquivos não rastreados. Então use git clean -f -d
para fazer isso.