当我在我的仓库上运行 git status 时,我得到 fatal: Not a git repository:/my repo/.git/modules/docs
我已经检查过,.git 存在并且包含具有适当权限的 HEAD。我可以很好地运行其他各种命令。如果我运行 git gui,它可以正常打开并列出几个更改的文件,但缺少很多文件。
我猜测 HEAD 中可能存在某种损坏,但不确定。知道如何在不清除整个 repo 协议(protocol)的情况下解决这个问题吗?
更新:我意识到我已经更改了存储库目录的名称。错误中引用的目录是目录的旧名称。所以我当前的存储库位于 /new dir/.git
但错误是说 Not a git repository:/old dir/.git/modules/docs
。所以也许 git 很困惑?
最佳答案
这两个文件包含子模块的绝对路径:
{submodule}/.git
.git/modules/{submodule}/config
因此,如果您移动了存储库,这两个文件中的绝对路径无效,并导致“不是 git 存储库”错误。只需手动修复这些文件。
关于git status 返回 fatal : Not a git repository but . git 存在并且 HEAD 具有适当的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10144149/