It can get even smaller when loose objects get packed into packfiles because of delta compression: a whole bunch of identical files can be stored in minimal overhead over storing one copy.
Well to the extent that git is able to find a suitable delta, which is the difficult part.