I have a Jenkins server trying to pull a large (1.7GB) Git repository. The users of the repository have done naughty things, like putting big tar files in it as well as copies of other Git repositories. Jenkins never finishes its "branch indexing" task for the repository. Looking at the repo on disk, it fills up with large tmp_pack files in $JENKINS_HOME/caches/git-XXX/.git/objects/pack/. If I check out the repo myself, it's 1.7GB; but Jenkins' copy is 140GB because of all these tmp_pack files.
Edit: I should have mentioned more about my environment. I'm running Jenkins inside Kubernetes, using the Kubernetes plugin to spawn pods as Jenkins slaves. The master Jenkins runs in a pod with a Persistent Volume on NFS. And I'm using Jenkins' Multibranch Pipeline, so all the logic is in Jenkinsfile
in the root of the repo.