【问题标题】:github workflow - fatal: not a git repository (or any of the parent directories): .gitgithub 工作流 - 致命:不是 git 存储库(或任何父目录):.git
【发布时间】:2012-09-03 16:50:34
【问题描述】:

我有一个 master 分支和一个 dev 分支用于当前的开发(本地工作副本)。我需要将 master 的更改合并到我的 dev 分支上。在合并之前,我运行了 git stash 并发现了以下错误:

fatal: Not a git repository (or any of the parent directories): .git

为了调查这个错误,我运行了以下命令: git status git branch git remote -v。都产生了同样的错误fatal: Not a git repository (or any of the parent directories): .git

我还尝试重置我的分支的原点git remote set-url origin @987654321@,这会产生相同的结果:fatal: Not a git repository (or any of the parent directories): .git

我也无法将本地工作目录中的任何更改提交到我的 dev 分支。

有没有人对如何纠正这个问题有任何建议。

【问题讨论】:

标签: git merge repository


【解决方案1】:

在我尝试将分支从 Visual Studio 推送到远程后遇到了同样的问题。检查内容后,我将 .git/HEAD.lock 重命名为 .git/HEAD。现在它工作正常。

【讨论】:

    【解决方案2】:

    检查以下文件:

    • your_repo_dir/.git/HEAD

    如果此内容似乎已损坏,那就是问题所在。我遇到了类似的问题,我通过将 HEAD 文件的内容替换为所选分支的最后一次提交的 git commit 哈希来修复它。

    提交哈希可以在.git/logs/refs/heads and branch_name_file下找到

    希望对你有帮助。

    【讨论】:

    • 这是我遇到此问题时的解决方案。 HEAD 文件消失了。
    • 这也适用于我们的案例。我们的代码目录通过 samba 从 VirtualBox 来宾安装在 mac 上,并且在从睡眠中醒来后经常出现此错误。 .git/HEAD 是空的,使用合法的 sha 恢复它可以解决问题。还有一个剩余的 .git/index.lock 必须删除。
    【解决方案3】:

    Visual Studio git 插件出现问题后出现此错误。

    解决方案是将my_repo_dir/.git/HEAD.lock 重命名为my_repo_dir/.git/HEAD

    锁定头文件后似乎发生了崩溃并杀死了 repo。

    【讨论】:

      【解决方案4】:

      获取该错误消息的一种方法是以某种方式位于 git repo 工作树中。
      请参阅“After git clone I get a “ fatal: Not a git repository (or any of the parent directories): .git ” error”作为插图。

      这也可能是因为 GIT_WORK_TREE 环境变量设置为错误的路径。
      或者在使用 git repo 的包装器中看到它,例如 rvm(例如,参见 this thread

      在这两种情况下,在新的克隆中重置情况(您已经这样做了)通常是解决问题的好方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-12-23
        • 1970-01-01
        • 1970-01-01
        • 2012-08-11
        • 2021-12-12
        • 2017-02-08
        • 1970-01-01
        相关资源
        最近更新 更多