Ответ 1
Объект (капли, деревья и коммиты) с сообщением SHA - 810cae53e0f622d6804f063c04a83dbc3a11b7ca будет сохранен в
.git/objects/81/0cae53e0f622d6804f063c04a83dbc3a11b7ca
(разделение первых двух символов для повышения производительности файловой системы, поскольку теперь не все объекты хранятся в одном каталоге)
Объекты, хранящиеся, как указано выше, называются Loose objects.
Когда вы запускаете свое репо, у вас в основном есть свободные объекты. По мере роста числа он становится неэффективным и хранится в файле пакета. Такие объекты называются упакованными объектами.
git gc
- это то, что вы запускаете для упаковки объектов (обычно теряются ненужные объекты и несколько недель назад, а с помощью опции --prune=<date>
вы можете принудительно удалить лишние объекты, которые больше не нужны. Например, когда вы изменяете фиксацию. Старый объект commit больше не нужен.)