Sei que o Git armazena informações sobre quando os arquivos são excluídos e posso verificar confirmações individuais para ver quais arquivos foram removidos, mas existe um comando que geraria uma lista de todos os arquivos excluídos durante a vida útil de um repositório?
306
git diff --name-status commit_hash
.Respostas:
Consulte Localizar e restaurar um arquivo excluído em um repositório Git
Se você não quiser todas as informações sobre em que consolidação elas foram removidas, basta adicionar uma
grep delete
.fonte
git log --find-renames --diff-filter=D --summary | grep delete
git log --no-renames --diff-filter=D --summary | grep delete
grep delete
porque se a mensagem de confirmação tiver a palavra excluir, ela também será exibida. Use emgrep 'delete mode'
vez disso.Isso faz o que você quer, eu acho:
... que acabei de extrair mais ou menos diretamente dessa outra resposta .
fonte
Se você estiver interessado apenas em ver os arquivos excluídos no momento, poderá usar este:
se você quiser removê-los (no caso de excluí-los sem usar "git rm") pipe que resulta em xargs git rm
fonte
git rm $(git ls-files --deleted)
Citando esta resposta de estouro de pilha.
É uma maneira bastante interessante de obter o tipo de alteração (A: Adicionado, M: Modificado, D: Excluído) para cada arquivo que foi alterado.
fonte
E se você deseja restringir os resultados de alguma forma, aqui está um bom:
Você terá todos os arquivos excluídos
some_dir
(consulte o comando sed) junto com o número de confirmação no qual isso acontece. Qualquer sed regex serve (eu uso isso para encontrar tipos de arquivos excluídos, etc.)fonte
git log --diff-filter=D .
Como o Windows não possui um
grep
comando, isso funcionou para mim no PowerShell:fonte
Select-String
?Mostrar todos os arquivos excluídos em some_branch
ou
fonte
git diff origin/master...origin/some_branch --name-status | grep ^D
ougit diff origin/master...origin/some_branch --name-status --diff-filter=D
Isso fornecerá uma lista de todos os arquivos que foram excluídos em todas as ramificações, classificados por seu caminho:
Funciona no msysgit (2.6.1.windows.1). Observe que precisamos do "modo de exclusão 100", pois os arquivos git podem ter sido confirmados como modo 100644 ou 100755.
fonte