How does GIT_STRATEGY fetch work on Gitlab Runner?

Problem to solve

Describe your question in as much detail as possible:

I run a complex pipeline which relies heavily on caching.
I try to find any information on how the separate jobs check out the code when GIT_STRATEGY is set to fetch. I did not find any detailed information in the docs, only [1].

In particular: Is the git repository cloned only once per { pipeline, runner } combination and all the jobs in that pipeline copy the git directory during startup?

[1] Configuring runners | GitLab

I want to minimize the number of “git clone” operations against our gitlab instance.
We are using the kubernetes executor and mount the builds directory from a shared volume.
Thus, all pods on the same node have access to the same builds dir.