6

I have a git repository in the parent folder. Lets call this folder "root". Then there is a sub directory in the folder, lets call it "child". What I want to do is clone a remote repository as a submodule into "child":

git submodule add [email protected]:username/repopath child/
git submodule add [email protected]:username/repopath ./child/

Both the above give me the error:

child already exists in the index

I tried removing the directory from being tracked:

git rm --cached .\child\*
git submodule add [email protected]:username/repopath child/

Then i get this error:

'child' already exists and is not a valid git repo

Any help would be most appreciated

Thanks

1 Answer 1

6

First, try your submodule add command in a new clone, because your previous attempts might have left a partial state for submodule.

Second, try first

git rm -r --cached child

Then, add and commit.

Finally, try your git submodule command:

git submodule add -- [email protected]:username/repopath child

Add, and commit.

Sign up to request clarification or add additional context in comments.

3 Comments

For learners, git submodule add -- [email protected]:username/repopath child. --: after the two dashes, there are only folders and files, no options. git@githu... is a ssh address, not https.
@Timo For more on the double hyphen (or double dash): stackoverflow.com/a/1192194/6309
Huge thanks to @VonC for your answer and comment. Very useful

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.