Какие шаги необходимо предпринять, чтобы удалить зеркало git?
Я клонировал android и загрузил полное зеркало, чтобы иметь возможность быстрее оформить заказ с помощью git clone --reference
(С его оберткой repo init --mirror
) но мое зеркало содержит части кода, на которые никогда не ссылаются, и здесь слишком много дискового пространства. Например, мне не нужно иметь предварительно скомпилированные бинарные файлы для MacOS и Windows, когда используется только Linux.
. Я вижу два возможных пути вперед, пожалуйста, дайте мне знать в комментариях, если я должен разделите это на два отдельных вопроса
Вариант 1: состоит в том, чтобы отделить зеркала от всех кассовых мест, где локальное репо git больше не использует зеркало, но содержит все, что содержится в его собственные каталоги. Я думаю, что, возможно, для этого можно использовать некоторую командную строку для git fsck
.
Я не использовал --dissociate
при создании для клонирования. Теперь я хочу преобразовать общие объекты в диссоциированные объекты.
Вариант 2: найдите, какие модули в зеркале действительно используются, и удалите все, на которые нет ссылок. Вероятно, это может быть работа для find
, grep
и awk
magi c.
Я также хотел бы работать выше без разрушения моих рабочих каталогов на случай, если у меня есть какие-то изменения забыли совершить где-нибудь.