If I understand you right this is what I'm frequently doing for eclipse projects and workspaces. Let's start with this structure:
$ find .
.
./projekt.txt
./sub1
./sub1/sub1.txt
./sub2
./sub2/sub2.txt
First initialize the submodules and master:
$ cd sub1
$ git init
$ git add *
$ git commit -m "init sub1"
$ cd ../sub2
$ git init
$ git add *
$ git commit -m "init sub2"
$ cd ..
$ git init
$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# projekt.txt
# sub1/
# sub2/
To add those folders as submodules instead of regular folders, simply do the following command, and use relative paths like ./sub
instead of just sub
$ git submodule add ./sub1
$ git submodule add ./sub2
Now it should look like
$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: .gitmodules
# new file: sub1
# new file: sub2
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# projekt.txt
Finally do a git add *
and git commit -m "init parent"
on the parent folder and there you are!
If you now change a file in one of your submodules, you have to commit the submodules first and then the parent repository as well in order to get the latest versions of your submodules when someone clones your parent repo.