2012-09-10 90 views
5

我有一个主分支和当前开发(本地工作副本)的开发分支。我需要将来自主设备的更改合并到我的开发分支上。合并之前,我跑git的藏匿处,发现了以下错误:github工作流 - 致命:不是git仓库(或任何父目录):.git

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 https://github.com/Connexions/oer.exports.git产生相同的结果的原点重置:fatal: Not a git repository (or any of the parent directories): .git

我不能承诺从我的本地工作目录中的任何改变要么到我的Dev分支。

有没有人有任何建议如何解决此问题。

+0

确保你的当前目录有一个'.git'文件夹? – Whymarrh

+0

什么在这个目录中显示'$ ls .git'? –

+0

我决定做我的分支的备份,reclone,拉动分支并粘贴文件。这解决了我的问题。谢谢。 –

回答

2

获取该错误消息的一种方法是以某种方式而不是在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回购像rvm看到包装(见this thread例如)

在这两种情况下,在一个新的克隆复位的情况(你做的)通常是修复情况的好方法。

13

检查以下文件:

  • your_repo_dir/.git/HEAD

如果该内容似乎已损坏,这是问题。我有类似的问题,我通过用所选分支的最后一次提交的git commit散列替换HEAD文件的内容来修复它。

提交哈希值可能下.git/logs/refs/heads and branch_name_file

我希望它可以帮助找到。

+0

这是我遇到这个问题时的解决方案。 HEAD文件已经消失。 –

+0

这也适用于我们的情况。我们的代码目录是通过samba从VirtualBox guest挂载到mac上的,并且经常在从睡眠中醒来后出现此错误。 .git/HEAD是空的,用合法修复它可以修复问题。还有一个必须删除的剩余的.git/index.lock。 – apinstein

3

我在使用visual studio git插件出现问题后出现此错误。

解决的办法是重新命名my_repo_dir/.git/HEAD.lockmy_repo_dir/.git/HEAD

看起来锁定头文件之后喜欢的东西,并坠毁,造成回购。

2

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

相关问题