msysGit brings a few components that are required to build Git:
Bash, a Unix-type command-line shell. Quite a few components of Git itself are still shell scripts. Therefore, Bash is required to execute Git commands (see the output of cd /git && git ls-files \*.sh for a full list).
the GNU C Compiler. Since we try to rely only on free software (apart from the Operating System, of course), we think it makes more sense to rely on GCC than on Visual Studio express. Also, it makes the maintenance burden lighter, as upstream Git also targets mainly GCC.
GNU Make.
Perl. Still required for a couple of Git components (see the output of cd /git && git ls-files \*.perl), most notably git svn.
Tcl/Tk, a scripting language making it easy to implement cross-platform graphical user interfaces. We need this for gitk and git gui.
cURL, a library implementing HTTP and FTP transport.
many more libraries.
some Unix programs required by the shell scripts in Git.