What does this MR do?
Handles a new GIT_STRATEGY option, specifying that git operations are unnecessary for a particular build
Why was this MR needed?
If the git repository is not used for a particular build, the work of cloning/fetching and checking out a particular revision is wasted, and potentially expensive.
Are there points in the code the reviewer needs to double check?
Does this MR meet the acceptance criteria?
Added for this feature/bug
All builds are passing
Branch has no merge conflicts with
master(if you do - rebase it please)
What are the relevant issue numbers?
Closes #1723 (closed)
Closes #1588 (closed)
Related to #1296 (closed)
Alternative to !196
Alternative to !330 (closed)
Prerequisite of https://gitlab.com/gitlab-org/gitlab-ce/issues/21337