В контексте bash * вы можете получить отсортированный список всех удаленных файлов из вашего репо с помощью
git log --all --diff-filter=D --name-only --pretty=format:'' | sort | uniq
, где
--all
означает запись всех коммитов, независимо от текущей позиции HEAD
--diff-filter=D
отображаемые фильтры фиксируют коммиты по этому условию: «D
», что означает «удалено»
--name-only
выводит имена файлов
--pretty=format:''
закрывает любой другой вывод, кроме имен файлов
и сформированная команда git возвращает список, который отправляется на
| sort
для сортировки списка по алфавиту, а затем
| uniq
для сохранения только одного экземпляра для каждой удвоенной строки (иначе файл, удаленный, затем заново созданный, а затем повторно удаленный, появится в списке дважды)
Конечно, вы также можете захотеть ограничить диапазон, чтобы принять во внимание обход истории. Если вам нужны только коммиты, которые были удалены, скажем, из ветки super-feature
, добавьте это как <revision range>
для журнала (см. doc ), который, если не указан, возвращается к HEAD
:
git log --all --diff-filter=D --name-only --pretty=format:'' master..super-feature | sort | uniq
* (например, для систем на основе Linux или для пользователей Windows в GitBash)