are there any other implementations in other languages? (preferably c++).

I use libgit2, but the code is a bit difficult to read and hack. I know there is a ruby book implementing from scratch.

I want to understand the git internals.

Let's rewrite everything in JavaScript:

https://github.com/isomorphic-git/isomorphic-git