tech stack required to understand git source code : I'm interested in understanding the git source code and maybe someday contribute to it. 

I understand git source code is build on

1) languages such as C, Shell, Perl, python, c++, tcl

2) technology such as http, https, ssh etc

I was just wondering, is there anything else that are pre-requisite to understanding the git source code?

Thanks in advance for any help!