我刚刚意识到我错误地从一个子目录运行了一个'git init'命令,然后在我的项目的根目录下创建了一个主存储库。这是一个错误,所以我运行了'rm-fr'命令(delete)在嵌套目录'.git'上,而不是在项目的根目录中-以为这会解决我的问题(我错了)现在的问题是,当我将项目推送到GitHub时,嵌套的文件夹变灰,好像被忽略了。有什么方法可以撤销我所做的事情吗?或者我必须重新开始?我是新手,正在尝试完成一个示例应用教程,但我似乎破坏了的目录对于生产环境中的部署至关重要。
jmp7cifd1#
GitHub上的灰色文件夹看起来像**submodule**。例如,参见:
在父模块中尝试使用git rm --cached sub-directory(没有尾随斜杠)。检查在主存储库的根目录下是否有一个.gitmodules文件,其中有相同的子目录。查看更多“Cannot remove submodule from Git repo“
git rm --cached sub-directory
.gitmodules
cd /path/to/parent/respository git rm --cached submodule-name # no trailing slash: not submodule-name/ git commit -m "Remove submodule entry" git push
请注意此处的--cached选项:我们不想删除子文件夹,只想删除the index中的special entry,它将其标记为子模块。
--cached
yqkkidmi2#
我在父文件夹和子文件夹中错误地使用了git init命令创建了一个子模块。只需删除.git目录,然后在您想要作为顶部目录的正确目录中使用一个git init命令重新开始。
2条答案
按热度按时间jmp7cifd1#
GitHub上的灰色文件夹看起来像**submodule**。
例如,参见:
在父模块中尝试使用
git rm --cached sub-directory
(没有尾随斜杠)。检查在主存储库的根目录下是否有一个
.gitmodules
文件,其中有相同的子目录。查看更多“Cannot remove submodule from Git repo“
请注意此处的
--cached
选项:我们不想删除子文件夹,只想删除the index中的special entry,它将其标记为子模块。yqkkidmi2#
我在父文件夹和子文件夹中错误地使用了git init命令创建了一个子模块。只需删除.git目录,然后在您想要作为顶部目录的正确目录中使用一个git init命令重新开始。