As the code in the shared repository matures, we expect that it will be sensible to clear out parts of the code-base and move them into dedicated projects. Here is an example of how this can be done, based on the information provided here.
|Master Branch Only|
Note that this will only correctly clone the master branch.
- Make a local clone of the shared repository:
- Use git-filter-branch to strip out everything except the contents of one folder, which becomes the root of the repo:
Note that this will not discard everything yet - the 'bulk' will still be there.
- Create a new repo, then overwrite the original remote and push to that new location
- Now clone that new repository into a new directory (should be smaller now)
So now, if we look at disk usage:
You can then remove the old folder, from a DIFFERENT copy of the original shared repository (I'm not bothering to wipe the whole history though)