Где находится объект коммита после "git clone ..."?
После того, как я напечатал git clone <path to project>
я вижу это .git/refs/heads/master
был создан с SHA1_code
внутри.
Хотя я вижу что SHA1_code
указывает на объект фиксации (набрав git cat-file -t SHA1_code
), Я не смог найти этот объект коммита в .git/objects
,
Где находится этот объект коммита?
1 ответ
Это наверное в пачке
Обратитесь к Packfiles (Pro Git Chapter 9-4), чтобы узнать больше о базе данных git-объектов.
Исходный формат, в котором Git сохраняет объекты на диске, называется свободным форматом объектов. Однако иногда Git упаковывает несколько таких объектов в один двоичный файл, называемый packfile, для экономии места и повышения эффективности. Git делает это, если у вас слишком много незакрепленных объектов, если вы запускаете команду git gc вручную или если вы отправляете на удаленный сервер. Чтобы увидеть, что происходит, вы можете вручную попросить Git упаковать объекты, вызвав команду git gc: