HOWTO · Git
Como remover arquivos não rastreados no Git
Pré-visualize arquivos não rastreados com o git clean e depois remova arquivos ou diretórios com segurança. Saiba como -x e -X tratam arquivos ignorados.
Nesta página
Para remover arquivos não rastreados no Git, pré-visualize os candidatos com git clean -n e, depois de conferir a lista, execute git clean -f. Acrescente -d se também quiser remover diretórios não rastreados. git clean exclui arquivos da árvore de trabalho; o Git não consegue restaurar arquivos não rastreados que não foram enviados para um commit nem preparados com git add.
Pré-visualizar arquivos não rastreados antes da limpeza
Um arquivo não rastreado está na árvore de trabalho, mas ainda não foi adicionado ao índice do Git; por isso, não será incluído nos commits. Execute git status para ver os caminhos não rastreados. O Git pode resumir como um único diretório os arquivos que estão dentro de um diretório não rastreado. Se quiser manter um arquivo e começar a rastreá-lo, use git add <file> em vez de removê-lo com a limpeza.
Antes de excluir qualquer coisa, pré-visualize os arquivos não rastreados com git clean -n. A opção -n faz uma simulação: o Git lista os arquivos que removeria sem excluí-los. Para incluir diretórios não rastreados na pré-visualização, use git clean -n -d. Confira cada caminho listado; por padrão, os arquivos ignorados não são incluídos.
Remover arquivos e diretórios não rastreados
Depois de conferir a pré-visualização, use -f para permitir a exclusão. Este exemplo autocontido cria um repositório Git temporário, pré-visualiza um arquivo não rastreado e o remove, sem alterar o repositório atual. Na saída observada, notes.txt aparece primeiro como candidato à remoção e, em seguida, sua remoção é confirmada.
scratch=$(mktemp -d)
trap 'rm -rf "$scratch"' EXIT
git -C "$scratch" init -q
printf 'temporary file\n' > "$scratch/notes.txt"
LC_ALL=C git -C "$scratch" clean -n
LC_ALL=C git -C "$scratch" clean -f
Would remove notes.txt
Removing notes.txt
Na sua árvore de trabalho, use git clean -f para remover arquivos não rastreados e git clean -f -d para remover arquivos e diretórios não rastreados. Primeiro, execute a pré-visualização correspondente — git clean -n ou git clean -n -d — e confira os candidatos. O Git não consegue desfazer a exclusão de arquivos que nunca foram enviados para um commit nem preparados com git add.
Se quiser excluir apenas alguns arquivos, remova esses caminhos pelo gerenciador de arquivos ou com um comando como rm <file>. Para selecionar candidatos de forma interativa, use git clean -i; o Git apresenta um menu, em vez de remover todos os candidatos de uma só vez. Um cliente com interface gráfica também pode mostrar arquivos não rastreados, mas os rótulos e controles de exclusão variam conforme o aplicativo.
Lidar com arquivos ignorados e outras opções de git clean
Normalmente, o Git protege da limpeza os arquivos correspondentes a .gitignore. Arquivos ignorados podem incluir resultados de compilação, configurações locais ou dados que você ainda precisa; confira o que será abrangido antes de incluí-los.
-xinclui arquivos ignorados junto com os demais arquivos não rastreados. Pré-visualize essa limpeza mais abrangente comgit clean -n -d -xe usegit clean -f -d -xsomente se quiser remover esses candidatos.-Xseleciona apenas arquivos ignorados. Pré-visualize comgit clean -n -d -Xe usegit clean -f -d -Xpara remover somente arquivos e diretórios ignorados.-dinclui diretórios não rastreados;-fpermite a exclusão;-npré-visualiza; e-iabre a seleção interativa.
Escolha -x para uma limpeza abrangente que inclua arquivos ignorados e outros itens não rastreados. Escolha -X quando quiser atingir somente itens ignorados. Confira a pré-visualização antes de qualquer um dos comandos, especialmente se os caminhos ignorados contiverem arquivos locais que queira manter.