Я хотел бы найти в моей базе кода коммиты, которые добавляют видеофайлы, чтобы их выбросить. Есть ли способ найти эти файлы в git?
Например, предположим, что все видео имеют имя файла, заканчивающееся расширением .wmv; Я хотел бы найти все коммиты, представляющие эти файлы, и избавиться от них с помощью исправления или чего-то еще.
Есть идеи?
Если вы хотите удалить эти файлы из всех ваших коммитов, попробуйте переписать всю историю с помощью команды filter-branch
. Например,
git filter-branch --index-filter 'git rm --cached --ignore-unmatch -r *.wml' HEAD
Да, как уже упоминалось, я думаю, что думаю, что удаление коммитов, которые представляют их, не приведет к удалению BLOB-объектов
См. http://progit.org/book/ch9-7 .html # remove_objects для обширного рассмотрения предмета и примеров
Это также может работать в gitk, используя View / New View / Enter для файлов и каталогов, которые нужно включить, по одному на строку.
Но обратите внимание, что вам нужен подстановочный знак, который покрывает раздел пути имени файла, иначе ничего не будет отображаться.
Например, если у вас был файл с именем backup-script.sh, с разным сроком действия (!), Появляющийся в разных местах дерева файлов, и вы хотите видеть все версии, то вы должны указать:
*/backup-script.sh