git错误:"已存在且不是有效的git repo"

时间:2014-07-07 05:29:30

标签: git github oauth

我不能这样做:

 git submodule add -f git@github.com:thephpleague/oauth2-server.git libs/OAuth/functions

因此:

'libs / OAuth / functions'已经存在,并且不是有效的 git repo

我只是不明白。它不存在于任何地方。我的计算机上是否隐藏了另一个 git配置文件,我不知道或者其他什么?我尝试再次删除 .git 所有内容。有什么想法吗?

我也试过这个:

git ls-files --stage functions

当我在libs / OAuth里面时我什么也没得到。

然后我尝试了这个:

sudo git rm --cached functions

我收到了这个错误:

fatal: pathspec 'functions' did not match any files

我也试过这个:

sudo git rm -r --cached functions

并得到了同样的错误。

3 个答案:

答案 0 :(得分:7)

如果其他人有类似我的情况,并因为一个愚蠢的原因正在努力解决这个问题:

检查文件是否因为任何原因已经存在(我之前添加了一个失败的git子模型)

所以在rm文件的上下文中:

rm -rf libs/OAuth/functions

然后尝试重新添加

答案 1 :(得分:2)

即使文件夹不存在,也请检查索引状态:

cd libs/OAuth
git ls-files -- functions

如果在索引中注册了一个条目,则需要将其删除才能将子视图作为子模块添加。
(如“Issue with adding common code as git submodule: “already exists in the index””中所述)

所有这些都假设您位于当前克隆的仓库的根文件夹中,该仓库将充当您要声明的任何子模块的父仓库。

答案 2 :(得分:0)

如果您多次尝试添加子模块而失败,则在尝试正确添加子模块时可能会导致错误。

首先,确保您要添加子模块的目录没有退出。
其次,检查您的.git目录。 我在.git / modules /中留下了多个导致问题的目录。

删除这些内容后,我能够将子模块添加到指定的目录中,如已扩展。