Я знаю, что Git хранит информацию о том, когда файлы удаляются, и я могу проверить отдельные коммиты, чтобы увидеть, какие файлы были удалены, но есть ли команда, которая генерировала бы список всех удаленных файлов в течение срока службы репозитория?
306
git diff --name-status commit_hash
.Ответы:
См. Поиск и восстановление удаленного файла в репозитории Git.
Если вы не хотите, чтобы вся информация о коммите была удалена, вы можете просто добавить
grep delete
туда.источник
git log --find-renames --diff-filter=D --summary | grep delete
git log --no-renames --diff-filter=D --summary | grep delete
grep delete
потому что если в сообщении о фиксации есть слово delete, оно также будет поднято. Используйтеgrep 'delete mode'
вместо этого.Это делает то, что вы хотите, я думаю:
... который я более или менее прямо взял из этого другого ответа .
источник
Если вас интересует только просмотр удаленных файлов, вы можете использовать это:
если вы хотите удалить их (в случае, если вы удалили их, не используя «git rm»), канал, который приводит к xargs git rm
источник
git rm $(git ls-files --deleted)
Ссылаясь на этот ответ переполнения стека.
Это довольно удобный способ получить тип изменения (A: добавлен, M: изменен , D: удален) для каждого файла, который был изменен.
источник
И если вы хотите как-то ограничить результаты, вот хороший вариант:
Вы получите все удаленные файлы
some_dir
(см. Команду sed) вместе с номером коммита, в котором это произошло. Подойдет любое регулярное выражение sed (я использую это для поиска удаленных типов файлов и т. Д.)источник
git log --diff-filter=D .
Поскольку в Windows нет
grep
команды, это помогло мне в PowerShell:источник
Select-String
?Показать все удаленные файлы в some_branch
или
источник
git diff origin/master...origin/some_branch --name-status | grep ^D
илиgit diff origin/master...origin/some_branch --name-status --diff-filter=D
Это даст вам список всех файлов, которые были удалены во всех ветках, отсортированы по их пути:
Работает в msysgit (2.6.1.windows.1). Обратите внимание, что нам нужно «удалить режим 100», поскольку файлы git могут быть зафиксированы как режим 100644 или 100755.
источник