The %JENKINS_HOME%\caches\git-<sha> directories are created by Pipeline jobs -I believe that ONLY when doing a lightweight checkout.
The sha in the name of the directory %JENKINS_HOME%\caches\git-<sha> represent a key for a specific remote that is calculated from the remote URL: "git-" + hudson.Util.getDigestOf(<remote>). Each directory corresponds to a specific repository. If many jobs are cloning the same repository, they all point to the same "cache" directory.
The problem comes when the repository are very large, which can produce to fill the disk space as there not seem to be any automatic mechanism for deleting these files.