Your repo is 100 GB? If that's not a typo, you might consider ways to reduce that size.
A good way to start might be by looking for logical ways to split the existing code (and probably a lot of non-code...) across multiple repositories. Is the code base sufficiently modular, such that you could move different modules into their own repository?
And speaking of non-code, are there a lot of large binary files being kept in the repo? Maybe those could be taken out of the version control system and moved elsewhere,like a LAN drive or a sharepoint site. A lot of the benefits of version control are lost with binary files and they just end up taking a ton of space.
Last, you might want to run git-gc
to clean/optimize the repository. This is especially true if you are self-hosting a centralized "master" server (rather than using Github or something similar), since that may not be happening automatically at regular intervals.
Edit:
I realize this doesn't directly answer the stated question. But it seems OP may have some other areas to explore that would make the sought after solution less urgent.
Edit 2:
Based on the comments, it sounds like there is some confusion about what git
does versus what repo
(the Android wrapper for git
) gives you on top of git. First, and most importantly, you can freely switch between repo
and git
commands. Using one does not bar you from using the other. The repo
script is just a wrapper that simplifies some operations that are common when developing for Android, but which are cumbersome to do manually with git
. Outside of those operations, most of the repository manipulation will probably be done using the standard git
commands.
Regarding the original question, what you are describing is the git clone
command:
NAME
git-clone - Clone a repository into a new directory
SYNOPSIS
git clone [--template=<template_directory>]
[-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
[-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
[--dissociate] [--separate-git-dir <git dir>]
[--depth <depth>] [--[no-]single-branch] [--no-tags]
[--recurse-submodules[=<pathspec>]] [--[no-]shallow-submodules]
[--jobs <n>] [--] <repository> [<directory>]
DESCRIPTION
Clones a repository into a newly created directory, creates remote-tracking branches for each branch in the cloned repository (visible using git branch -r
), and creates and
checks out an initial branch that is forked from the cloned repository's currently active branch.
After the clone, a plain git fetch
without arguments will update all the remote-tracking branches, and a git pull
without arguments will in addition merge the remote master branch into the current master branch [...]
Since you specifically mentioned wanting to have the code base on the local network, you would first clone the repository and then pull all branches:
git clone [remote URL]
git pull --all
Once that is done, you can use any repo
and regular git
commands to manage your local copy of the repository.