20

I have just realised I ran a 'git init' command from a sub-directory by mistake and then created a master repo at the root of my project.

This was a mistake, so I ran the 'rm -fr'

command (delete) on the nested directory '.git' not in the root of the project - thinking that this would solve my issue (how wrong I was)

The problem is now that when I push the project to GitHub the nested folder is greyed out as if it was ignored.

Is there any way to undo what I have done? or do I just have to start again? I'm new to this and was trying to complete a sample app tutorial but the directory I've seemingly ruined is essential to the deployment in a production env.

2 Answers 2

30

A gray folder on GitHub looks like a submodule.
See for instance:

Try in the parent module a git rm --cached sub-directory (no trailing slash).
Check if you have a .gitmodules file at the root of your main repo, with that same sub-directory in it.

See more at "Cannot remove submodule from Git repo"

cd /path/to/parent/respository git rm --cached submodule-name # no trailing slash: not submodule-name/ git commit -m "Remove submodule entry" git push 

Note the --cached option here: we don't want to remove the sub-folder, only the special entry in the index which marks it as a submodule.

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

3 Comments

thanks info was real useful, not sure why but when I ran that command it deleted the directory. So I've scratched it and re-done the project. Wasn't too much effort.
Do not use "submodule-name/" when using this method. Use "submodule-name". I lagged with this issue. : (
@Pramuditha Good point. I have edited the answer to make that more visible.
-1

I had created a submodule by mistake by using the git init command in both the parent and the subfolder. Just remove the .git directory and start over with one git init command in the proper directory that you want as the top directory.

1 Comment

That's not very ideal, even though it's an option. You lose all your history, if there's one.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.