Hacker News new | ask | show | jobs
by phil-m 1231 days ago
Not possible, due to the way how git works: It's a merkle tree of commits, where each of these commits point to a file tree (content-addressed by the hash) and the previous commit
1 comments

No, creating a git commit merely requires knowing the current state of all the files and the hash of the previous commit. You don't need the actual contents of the previous commits.

https://git-scm.com/book/en/v2/Git-Internals-Git-Objects

Pushing from a shallow clone to a remote is more complex, but is supported in modern git versions.

https://stackoverflow.com/a/6900428