Вы можете использовать следующую команду
git lfs prune
От документы ,
ОПИСАНИЕ
Удаляет локальные копии файлов LFS, которые старые, тем самым освобождая место на диске. Prune работает, перечисляя все локально сохраненные объекты, а затем удаляя любые объекты, на которые не ссылается хотя бы ОДИН из следующих элементов:
- текущая проверка
- 'недавняя ветвь'; см. [ПОСЛЕДНИЕ ФАЙЛЫ]
- «недавний коммит» в текущей или недавних ветках; см. [ПОСЛЕДНИЕ ФАЙЛЫ]
- коммит, который не был передан; см. [UNPUSHED LFS FILES]
- любые другие проверки рабочего дерева; смотрите git -worktree (1)
В общих чертах, prune удалит файлы, которые вы не используете и которые не являются 'недавними', если они были выдвинуты, т.е. Локальная копия не единственная.
Рефлог не рассматривается, только коммиты. Поэтому объекты LFS, на которые ссылаются только осиротевшие коммиты, всегда удаляются.
Примечание: вам не следует запускать git lfs prune, если у вас есть разные репозитории, совместно использующие один и тот же каталог пользовательских хранилищ; см. git -lfs-config (1) для получения дополнительной информации о параметре lfs.storage.
Поскольку вы не можете удалить из-за файлов отслеживания LFS, на которые ссылается текущая проверка можно клонировать локальное репо без отслеживаемых файлов LFS, используя параметр GIT_LFS_SKIP_SMUDGE
export GIT_LFS_SKIP_SMUDGE=1
git clone /path/to/local/repo test
Это должно уменьшить размер репо, поскольку отслеживаемые файлы LFS будут преобразованы в файлы указателей. Если вы хотите использовать отслеживаемые файлы LFS, вам нужно сделать git lfs pull
.
Поскольку git lfs pull
будет загружать все отслеживаемые файлы LFS в текущей проверке, вы можете использовать опции включения и исключения для включения или исключения определенных файлов.
Например, вы можете включить в репозиторий все PDF-файлы (отслеживаемые файлы LFS) с помощью
git lfs pull -I "*.pdf"
или исключить их с помощью
git lfs pull -X "*.pdf"
Обратите внимание, что вы можете клонировать из само удаленное репо, клонирование локального репо в тестовое репо - это всего лишь пример, показывающий, что размер уменьшен.