git submodule add 错误:没有检出提交

Ric*_*cha 24 git bitbucket

我在 bitbucket 的帮助下创建了一个新的 git 存储库,称为混淆矩阵。现在,我正在另一个 git 存储库(称为workspace)中尝试将混淆矩阵存储库添加为子模块,如下所示:

git submodule add https://....@bitbucket.org/..../confusionmatrix.git
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

“confusionmatrix”没有检出提交

我已经将它与其他 git 存储库一起制作到同一个存储库“工作区”并且运行良好。

我做错了什么?

Mun*_*iro 57

作为仅供参考,如果您不小心在您尝试添加的文件夹下的任何子文件夹中已经有一个 .git 文件夹,则会显示相同的消息。如果是这种情况,请删除 git 子文件夹,如果有任何 .vs 文件,也将其删除。这就是我的情况,我有同样的错误信息。

  • 嘿谢谢!删除内部 git 文件夹对我有用。 (7认同)

Von*_*onC 15

如果您刚刚在 BitBucket 上创建了一个空的Git 存储库,请尝试确保至少对其进行一次提交(或推送一次提交)。

将该存储库作为第二个本地存储库中的子模块引用之前执行此操作。


GAU*_*SHI 12

在我的例子中,子文件夹包含 .git 文件夹。

检查是否有任何子文件夹包含“.git”文件夹。删除该“.git”文件夹即可。

或者另一种方式是

在 git-shell 中运行

rm -rf .git
Run Code Online (Sandbox Code Playgroud)

  • 在 git-shell 中运行“rm -rf .git”,对我来说就像一个魅力 (2认同)

ata*_*min 8

我在子目录中有另一个 .git 文件夹,我在初始化它之前从存储库中提取了它,删除该存储库后,git add .工作了

  • 我遇到过同样的问题。我的框架(Nest.js)自动在项目的子目录中创建了一个“.git”文件夹。我必须先删除才能提交子目录。 (2认同)

gie*_*s0r 8

  1. .git在一些子目录中找到剩余的文件夹(该目录显示在错误消息中!)
find ./ -name '.git'
Run Code Online (Sandbox Code Playgroud)
  1. 删除它(确保有正确的文件夹!!!
rm -r yourfolder/.git/
Run Code Online (Sandbox Code Playgroud)
  1. 再试一次