Git is mostly not bash scripts anymore:
[~] 0 (jon@snowball2)
$ file /usr/lib/git-core/git-status
/usr/lib/git-core/git-status: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, stripped
Because it's simple bash scripts but distributed and decentralised it has a steep learning curve.
No, no git is not simple. It's really complicated.