添加了错误的git子模块,无法更改其原点

添加了错误的git子模块,无法更改其原点,git,git-submodules,Git,Git Submodules,我在git super项目中添加了一个子模块: git submodule add wrong-url project-directory 这是一个错误的项目,因此我将其删除: git submodule deinit -f project-directory git submodule deinit -f project-directory 我尝试使用正确的url添加它: git submodule add right-url project-directory 不幸的是,它生成了一个

我在git super项目中添加了一个子模块:

git submodule add wrong-url project-directory
这是一个错误的项目,因此我将其删除:

git submodule deinit -f project-directory
git submodule deinit -f project-directory
我尝试使用正确的url添加它:

git submodule add right-url project-directory
不幸的是,它生成了一个错误:
已存在于索引中

我发现这可以解决问题:

因此,我运行以下命令:

git rm --cached project-directory
git rm -r --cached project-directory
但是,如上所述,我得到错误消息
项目目录已经存在,并且不是有效的git repo
。因此,我删除了
项目目录
,并且成功添加了
项目目录

问题是内容链接到了错误的url

我编辑了
.gitmodules
(其中url错误),结果是一样的

我还使用
git remote rm origin
更改了远程url,并使用
git remote add right url
添加了正确的url,但没有帮助

我很好奇这个错误的远程url存储在哪里,以及如何修复它

这是一个错误的项目,因此我将其删除:

git submodule deinit -f project-directory
git submodule deinit -f project-directory
这将从
.git/config
中删除条目,并清除项目目录内容

但是,
.gitmodules
文件中的条目仍然完好无损。要摆脱它,只需从git中删除现在为空的目录,它就会自动清除该条目:

git rm -f project-directory
最后,您应该删除子模块的实际git目录,位于
.git/modules

rm -rf .git/modules/project-directory

就是这样,子模块不应该存在任何痕迹,您可以添加正确的痕迹。

除了运行
rm-rf.git/modules/project目录
,我还手动从
.gitmodules
中删除了条目。然后添加成功。