If your svn repository layout is:
svnroot/
|-- projectA
| |-- branches
| |-- tags
| `-- trunk
|-- projectB
| |-- branches
| |-- tags
| `-- trunk
`-- projectC
|-- branches
|-- tags
`-- trunk
Then you could create separate git repositories for each project e.g., projectA:
$ git svn clone --stdlayout https://svn.example.net/svnroot/projectA
After that you could create the main git repo (git init) and add the created git repos for project{A,B,C} as submodules to it (git submodule).
But it is probably not what you want; from the git submodule manual:
Submodules allow foreign repositories
to be embedded within a dedicated
subdirectory of the source tree,
always pointed at a particular commit.
They are not to be confused with remotes, which are meant mainly
for branches of the same project; submodules are meant for different
projects you would like to make part of your source tree, while the history of
the two projects still stays completely independent and you cannot
modify the contents of the submodule from within the main project.
If you'd like to modify project{A,B,C} from within the main project and keep the unite history of the projects then the submodules are not appropriate for the task.
For the provided svn repo layout:
svnroot/
|-- branches
|-- tags
|-- trunk
|-- projectA
|-- projectB
`-- projectC
try to create the git repositories using --trunk, --branches, --tags arguments e.g.:
$ git svn clone \
> --trunk trunk/projectA \
> --branches branches \
> --tags tags \
> https://svn.example.net/svnroot \
> projectA
On completion the .git/config file should contain something like:
[svn-remote "svn"]
url = https://svn.example.net/svnroot
fetch = projectA/trunk:refs/remotes/trunk
branches = branches/*:refs/remotes/*
tags = tags/*:refs/remotes/tags/*
You could use --ignore-paths=<regex> to skip matching paths from the project.