您好我有一个已签入的目录,其中包含许多常用代码。
我将代码移动到外部存储库,然后尝试将其用作子模块。
现在的问题是,当我尝试添加子模块时,会抛出错误:已经存在。我试过多个论坛,找不到任何解决方案。
我已经从存储库中删除了原始目录,然后检查了更改(删除了目录)。仍然是问题。一些如何说该目录存在于索引中。
如何处理这个??
答案 0 :(得分:0)
从git中删除目录或文件时,你必须明确指示git你要删除它,否则git会在内部跟踪它。您可以使用
执行此操作git rm -r --cached directory
git commit -m "removing directory"
使用-r
因为它是一个目录,所以我们需要递归删除,--cached
用于保持本地副本(否则它将被删除)。
现在,在您的情况下,您已经移动了alrady并从目录中创建了一个子模块。所以,你需要
再次移出目录(因为它本身就是一个git存储库)
mv directory ../
删除目录并提交
git rm -r --cached directory && git commit -m "removing directory"