, @jettero

ользую

git filter-branch --subdirectory-filter dir/name -- --all

создать репо, у которого есть только история, связанная с этим каталогом / именем. Перед тем, как сделать фильтр, я клонирую исходный репо (который намного больше) в каталог tmp. После ответвления фильтра репозиторий выглядит так, как я хочу, за одним исключением: кажется, что он все еще содержит все объекты из исходного репо, даже если они не отображаются в «git log».

Как я могу полностью удалить все эти ненужные объекты?

Я пробовал такие вещи, как:

git reflog expire --expire=now --all
git gc --aggressive --prune=now

Для меня ясно, что я не знаю, почему они все еще там или что это значит, чтобы удалить их, но я бы с удовольствием. Немного связанной с этим информации, работающей против меня, состоит в том, что я недавно выполнил git repack -a в своем исходном репо, и он, похоже, скопировал этот пакетный файл в новое репо. Похоже, я все еще могу делать то, что хочу.

Ответы на вопрос(1)

Ваш ответ на вопрос