From git help submodule ,
Submodules allow you to implement external repositories inside the selected subdirectory of the source tree, always pointing to a specific commit.
Your call to git submodule add complains because you are trying to embed an external VVV repository in the machine subdirectory, which, as the message says, already exists and is not a valid git repo.
To get the desired directory structure, with machine as a subdirectory of the VVV directory, you will need to have your repo as its submodule, and not vice versa.
With that in mind, I donβt see how you could get one git clone to pull both repositories and organize them as you wish. The next best thing would be for your repo to pull out the VVV repo as a submodule / subdirectory parallel to your machine directory and include a script to establish a symbolic link to machine from the VVV subdirectory.
source share