Git: как перепаковать все незакрепленные коммиты

После использования git gc и git repack (с различными параметрами) я все еще есть 4825 свободных коммитов в папке .git / objects . Я бы хотел, чтобы все они были в пакете с остальными или в другом пак-файле.

Я часто переписываю коммиты (поправка + перебазирование), поэтому иметь много недостижимых коммитов совершенно нормально. Мой .gitconfig содержит эти параметры, чтобы сохранять рефлоги и недоступные коммиты в течение длительного времени.

[gc]
    reflogExpire = 300 days
    reflogExpireUnreachable = 200 days
    pruneExpire = 90 days

Вы можете задаться вопросом, имеет ли это смысл, но мне уже потребовалось и восстановлено несколько коммитов, сделанных несколько месяцев назад. Бывает, что мы развиваемся в течение многих месяцев на новом наборе ветвей с более высоким приоритетом, а затем продолжаем развивать более старые ветви с более низким приоритетом.

Основная причина этого вопроса в том, что git gui продолжает жаловаться на сжатие моей базы данных, несмотря на то, что я делал это много раз. Если мы не можем упаковать эти отдельные коммиты, тогда эта «жалоба» может быть ошибкой в ​​ git gui .

7
задан Paul Pladijs 28 November 2011 в 10:01
поделиться