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 -dfisso, mas isso também removerá diretórios não rastreados. Use -npara uma corrida a seco.
Veja a limpeza não rastreada
-xfirá excluir e os arquivos ignorados e provavelmente não é isso que você deseja. Use -nfe 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 -farquivos 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 -fNÃO excluirá esses arquivos não rastreados.
Em outras palavras, nem sempre é o caso que git clean -fexcluirá 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 -npara 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 -dpara fazer isso.