Is the git storage model wasteful?

I was reading about how git stores changes here.

It sounds like if I change one line in a file, it’s going to re-store the entire file. Does this waste a lot of space compared to say, Subversion which only stores diffs?

  • Git: Recover from failed rebase
  • Merging two branches into one another
  • Fatal: not a git repository - after BSoD
  • “refusing to merge unrelated histories” failure while pulling to recovered repository
  • Git GUI: how to change the locale
  • How can I delete a repository in the new Bitbucket
  • (Or am I misunderstanding the storage model?)

  • Git save the all version of file added by using index update-index command?
  • Unable to Connect to For Cloning
  • How to resume Git-Flow after a break cause by a merge conflict on a finish command?
  • How to merge head commits from another branch?
  • Git merging a file, actually trying to re-do the merge for one file
  • Using gitflow - how to prepare release
  • 3 Solutions collect form web for “Is the git storage model wasteful?”

    Git will eventually pack everything into delta-compressed archives during the regular course of its internal maintenance, at which point this is no longer an issue.

    This isn’t really an issue today though. Git’s philosophy is that disk space is cheap, and it’s better optimize for speed rather than storage efficiency. Chances are you’ll be better served by a SCM which is twice as fast, as opposed to one which requires half the disk space.

    See the Git Book’s chapter on The Packfile as well as git repack and git-pack-objects.

    Git does compress stored files with with zlib and it also packs them for a more efficient storage.

    Actually not. There is a good article describing the advantage of git:

    Git Baby is a git and github fan, let's start git clone.