#git
#git
Вопрос:
Я хотел бы удалить objects ( .git/objects
) из моего репозитория, на которые больше не ссылаются никакие ссылки, но я не хочу упаковывать файлы для упаковки.
Я пытался git gc --no-prune
, но он все равно удалил все объекты из моего репозитория и оставил только файлы пакетов ( git count-objects
сообщает «0 объектов, 0 килобайт»).
Комментарии:
1. Чем то, что вы хотите, отличается от того, что
git prune
делает?2. Упс, я не знал
prune
, спасибо. Хотите опубликовать это как ответ?
Ответ №1:
git gc
является ли оболочкой для целого ряда небольших операций обслуживания:
git reflog expire
git repack
git prune-packed
(на самом деле выполняетсяgit repack
автоматически при использовании-d
)git prune
- любые другие, которые я, возможно, забыл
и git prune
это тот, который специально удаляет объекты без ссылок. Обратите внимание, что это git gc
указывает время истечения срока действия, чтобы git prune
не удалять объекты без ссылок, которые все еще создаются. Если у вас нет активных команд Git, которые могли бы создавать объекты, и вы не хотите предоставлять льготный период gc по умолчанию, вам не нужно беспокоиться об этом.