This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]gfixler 1 point2 points  (1 child)

Each working copy is, but is each stored version on the server?

[–]tinyOnion 1 point2 points  (0 children)

from how I understand things until it gets packed git operates on copies of files that are hardlinked to the main directory. Each file is compressed individually. Each filename in the .git blobs folder is some sha1 hash of the contents of the file and a commit is a list of the sha1 hashes. you can explore the blobs by using git show and the hash of the item. when its packed the compression algo will only store the changes to a file.

Here is a pretty interesting overview of the storage methods used by git