Каждый Git объект имеет уникальный SHA.Этот объект дерева, который вы перечисляете, содержит несколько ссылок на один и тот же объект BLOB-объекта.
Объект BLOB-объекта - это, в основном, содержимое файла.Эти два файла имеют одинаковое содержимое, поэтому Git сохраняет их как один и тот же BLOB-объект.
$ echo 'basset hounds got long ears' > file1
$ cp file1 file2
$ git hash-object -t blob file1 file2
a55bd80950a2a5fc0b43b76ec1b3da190efcd212
a55bd80950a2a5fc0b43b76ec1b3da190efcd212
Вот иллюстрация взаимосвязи между объектами дерева и BLOB-объектов из главы Git Objects книги Pro Git..

Вот как хранится это дерево файлов ...
new.txt "new file"
test.txt "version 2"
bak/
test.txt "version 1"
Кстати, вот как Gitможет эффективно хранить полные снимки каждого файла при каждом коммите.Поскольку каждый коммит обычно изменяет только несколько файлов, коммиты в основном ссылаются на одно и то же дерево и объекты BLOB-объектов.