GIT:<directory>已经存在于索引</directory>中

时间:2015-03-27 07:05:38

标签: git tortoisegit

您好我有一个已签入的目录,其中包含许多常用代码。

我将代码移动到外部存储库,然后尝试将其用作子模块。

现在的问题是,当我尝试添加子模块时,会抛出错误:已经存在。我试过多个论坛,找不到任何解决方案。

我已经从存储库中删除了原始目录,然后检查了更改(删除了目录)。仍然是问题。一些如何说该目录存在于索引中。

如何处理这个??

1 个答案:

答案 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"