You're relying on compression either way... my hunch is that controlling the compression yourself may get you a better result.
Git does not store diffs, it stores every version. These get compressed into packfiles https://git-scm.com/book/en/v2/Git-Internals-Packfiles. It looks like it uses zlib.