首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用git错误:“已经存在且不是有效的git回购”。

使用git错误:“已经存在且不是有效的git回购”。
EN

Stack Overflow用户
提问于 2014-07-07 05:29:30
回答 4查看 24.1K关注 0票数 21

我很清楚我不能这样做:

代码语言:javascript
复制
 git submodule add -f git@github.com:thephpleague/oauth2-server.git libs/OAuth/functions

正因如此:

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

我只是不明白。它不存在于任何地方。是否有另一个git配置文件隐藏在我的计算机上,我不知道什么?我试着删除、.git、,然后再一次将的所有内容都拉出来,但是没有做任何事情。有什么想法吗?

我也试过这个:

代码语言:javascript
复制
git ls-files --stage functions

当我在libs/OAuth里面的时候,我什么都没有。

然后我试了一下:

代码语言:javascript
复制
sudo git rm --cached functions

我发现了一个错误:

代码语言:javascript
复制
fatal: pathspec 'functions' did not match any files

我也试过这个:

代码语言:javascript
复制
sudo git rm -r --cached functions

并得到了同样的错误。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-07-07 05:55:28

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

代码语言:javascript
复制
cd libs/OAuth
git ls-files -- functions

如果在索引中注册了一个条目,那么在能够将您的子模块添加到子模块之前,您需要删除它。

(如“Issue with adding common code as git submodule: “already exists in the index””中所解释)

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

票数 6
EN

Stack Overflow用户

发布于 2015-05-20 11:55:43

如果其他人和我有类似的情况,因为我是因为一个愚蠢的原因而苦苦挣扎:

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

因此,在问题rm的上下文中,文件:

代码语言:javascript
复制
rm -rf libs/OAuth/functions

然后尝试重新添加

票数 17
EN

Stack Overflow用户

发布于 2020-11-14 15:45:11

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

首先,确保要向添加子模块的dir不退出。

其次是,检查您的.git dir。我在..git/模块/中留下了多个dir,这会导致问题。

在删除这些之后,我能够将子模块添加到指定的dir中,作为expexted。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24603563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档