When working on a monorepo, we often create uncommitted changes in multiple "subrepos", which turns into a mess when preparing a commit, when pulling changes from remote, etc...
Git allows us to create a sparse-clone
of the monorepo, containing only the subrepo that we are interested in, yet keeping the integrity and functions of a VCS.
For example, we have a monorepo with the following structure (computer@user:~$ tree monorepo
):