Speed up Jenkins cloning git repositories with Multiple SCM plugin and multi-configuration

We have a Jenkins job which uses Multiple SCM to clone 5 repositories and then builds it using a gradle script. There are two things that are slowing us down:

  1. A build is triggered on every repository on every change. That is fine, but it currently means that every time one of the repositories changes, all repositories are cloned again. Is there a way to make sure only the changed repo is cloned?
  2. Since it is a multi-configuration job, the clone is executed twice, once in the parent workspace and once in the configuration workspace. Now as I understand it this is the expected behaviour, but is there a way to change this and only clone in one of those or just copy the cloned workspace?

Also would there be a way to tell Jenkins to normally pull the repos with a hart reset and only clone on changes of .gitignore?

Git Baby is a git and github fan, let's start git clone.