I have a primary development machine, where I work on a project stored in GitLab repository. This project references submodules at some repositories. I also have a secondary sandbox machine that can't access these repositories. To make these machines in sync, I'm going to create mirrors of all necessary repositories on the secondary machine (I can access them from my primary machine). For the parent project, setting GitLab repository as upstream and mirror as origin on the primary machine and syncing between two of them and a local copy seems to be a solution. But how about submodules? I want primary machine repo to link to normal submodule repos, as it is on upstream from GitLab, and secondary machine use mirrored repos. And whenever I change a submodule revision in upstream (to commit these changes to GitLab), I also want mirrors to become in sync, and parent mirror on the secondary correctly referencing new revisions at submodule mirrors. How do I do that? What is the most clever way to set up things?