如何恢复已删除的 .git/modules 文件夹

Dae*_*mon 5 git git-submodules

在我的项目中 .git/modules 文件夹被删除。现在我可以将父分支重置为其他版本,但子模块更新不起作用。

我收到的错误:

fatal: Not a git repository: ../.git/modules/abc.
Unable to find current revision in submodule path 'abc'
Run Code Online (Sandbox Code Playgroud)

如何恢复已删除的文件夹并使子模块恢复与父分支一致。

回购结构是这样的:

parent_folder---|---abc
                |---def
Run Code Online (Sandbox Code Playgroud)

abc 和 def 是子模块。

Cod*_*ard 5

您必须再次初始化并更新子模块,

git submodule init
git submodule update
Run Code Online (Sandbox Code Playgroud)

它应该下载并更新当前的子模块代码。

如果仍然不起作用,请尝试删除子模块并使用以下命令再次添加它

git submodule add <params>
Run Code Online (Sandbox Code Playgroud)

如果这不能解决问题,请添加带有--force标志的子模块

如果--force指定,则即使包含存储库的索引中指定的提交已经与子模块中签出的提交匹配,也会签出子模块(如果适用,请使用 git checkout --force )。