github工作流-致命:不是git存储库(或任何父目录):.git

github工作流-致命:不是git存储库(或任何父目录):.git,git,merge,repository,Git,Merge,Repository,我有一个主分支和一个开发分支用于当前开发(本地工作副本)。我需要将主服务器上的更改合并到我的开发分支上。在合并之前,我运行git stash并发现以下错误: 致命:不是git存储库(或任何父目录):.git 为了调查此错误,我运行了以下命令: git状态 git分行 git-remote-v。都产生了相同的错误致命:不是git存储库(或任何父目录):.git 我还尝试重置我的分支的来源git remote set url origin,结果相同:fatal:不是git存储库(或任何父目录):.g

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

致命:不是git存储库(或任何父目录):.git

为了调查此错误,我运行了以下命令:
git状态
git分行
git-remote-v
。都产生了相同的错误
致命:不是git存储库(或任何父目录):.git

我还尝试重置我的分支的来源
git remote set url origin
,结果相同:
fatal:不是git存储库(或任何父目录):.git

我也无法将任何更改从本地工作目录提交到我的开发分支上


是否有人对如何纠正此问题有任何建议。

获取错误消息的一种方法是不在git回购工作树中。
请参见“”作为示例

这也可能是由于
GIT\u WORK\u TREE
环境变量设置为错误路径造成的。
或者可以在使用git-repo-like的包装中看到它(参见示例)


在这两种情况下,在新克隆中重置该情况(您这样做了)通常是修复该情况的好方法。

检查以下文件:

  • your\u repo\u dir/.git/HEAD
如果此内容似乎已损坏,这就是问题所在。我也有类似的问题,我通过将头文件的内容替换为来自所选分支的最后一次提交的git commit散列来修复它

提交哈希可以在
.git/logs/refs/heads和branch_name_文件下找到


我希望它能有所帮助。

在visual studio git插件出现问题后,我出现了这个错误

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


在锁定头文件后,似乎有什么东西崩溃了,并导致repo终止。

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

确保当前目录有一个
.git
文件夹?在这个目录中显示什么
$ls.git
?我决定备份我的分支,重新克隆,拉分支并粘贴文件。这解决了我的问题。谢谢。当我遇到这个问题时,这可能是解决方案的重复。头文件不见了,这在我们的案子中也起了作用。我们的代码目录通过samba从VirtualBox来宾装载到mac上,经常在从睡眠中醒来后出现此错误。.git/HEAD是空的,用合法的sha恢复它可以解决这个问题。还有一个遗留的.git/index.lock必须删除。