Why Blender and git seems like working so well together?
Blender saves a direct copy of its memory to the blend file. As a result, the file contents change little when you change a small thing in Blender. This allows tools that perform binary diffs (not sure about Git, but Subversion and Mercurial do a good job at this) to produce a small diff.

When you save your blend file compressed, the entire file can change even when in Blender only a single bit was flipped. This prevents efficient diffing, and thus makes it work much less efficient with such tools.