Answer a question

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.

Answers

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

  • "What is this grey git icon?"
  • "What does a grey icon in remote GitHub mean"

Try 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"

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.

Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐