Need clarification on the build process in CI

I’ve poured over the docs, but I could very well have missed an explanation of this.

So when I do a build through CI, the first thing it does it clone the repo under the gitlab-runner directory in a special hashed subdirectory. How do I access this cloned copy? Obviously if the repo has already been cloned out as part of the build process, I’d rather just work with those files rather than having to clone it again somewhere in my build script. Our product is not web-based, but is a bundled application that people download for use on their own systems, and the builds are fairly large, at around 2GB per build.

The second question I have is why do a git clone as the first step, since it will include the .git directory (which at least in our case, is massive!). Any way of overriding this behavior entirely? Or at least replacing it with some commands that will fetch the repo files but ignore the .git folder? Tricky, I know, but it is doable.

Thanks in advance for any guidance!

Cheers.

Of course, just after I post this, I discover the information I need in the docs lol.